Linux自帶有兩個文本編輯器:vi和nano。
創(chuàng)新互聯(lián)于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元懷寧做網(wǎng)站,已為上家服務(wù),為懷寧各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
使用nano編輯文件:
nano 文件名
點擊Ctrl-X可以退出編輯,選擇是否保存對文件的改動。
使用vi編輯文件:
vi 文件名
vi有兩個模式:一個是編輯模式一個是命令模式。點擊i可以從命令模式進(jìn)入編輯模式,在點擊esc鍵可以重新進(jìn)入命令模式。我們一般進(jìn)入編輯模式,來進(jìn)行添加,修改,刪除。但是當(dāng)我們刪除和修改的內(nèi)容過多的時候,我們使用命令行模式,進(jìn)行修改,這樣方便,快捷,而命令行中,最常用到的是x,dd,u,p這四個命令:x:刪除當(dāng)前字符;dd:刪除當(dāng)前行;u:恢復(fù)前一步操作;p:復(fù)制之前刪除的行。
在Linux系統(tǒng)里常用于文本查看、操作、統(tǒng)計的命令:
通過多敲鍵盤,形成手感 肌肉記憶 ,熟練掌握這些命令,在以后生信分析中游刃有余。以下是每個命令的詳細(xì)的介紹(主要是跟著 生信技能樹小郭老師 學(xué)習(xí)做的筆記)
接下來通過示例把10個命令的常用參數(shù)和用法展示出來:
參數(shù)的用法介紹:
注意事項:
用 cat 命令可以 查看文本 ,也可以 編輯文本 ,編輯文本要加 符號,退出時,另起一行,按 control C 退出
zcat可以查看壓縮的文本文件,tac逆向查看
結(jié)合 管道符| 使用
head / tail -n :查看文件的前 / 后 n 行,默認(rèn) 10 行 (在R語言里head和tail默認(rèn)是前6行)。
less命令用得最多 ,more命令用得比較少
3.1 less命令
less [參數(shù)] 文件名
less命令重要的補充用法1 :
需要注意 退出 :只要使用less命令, 按q鍵
less命令重要的補充用法2 :
參數(shù)用法:
less命令 不加參數(shù) 查看文件:
less命令加 -N參數(shù) 查看文件:顯示行號
less命令加 -S參數(shù) 查看文件:單行顯示,非常規(guī)整
對比:less和cat命令顯示文本行號的用法:less -N,cat -n
3.2 more命令
**more ** 逐頁查看,按空格翻頁,按回車換行 ,more命令一般很少用,熟練掌握less命令就好
查看壓縮文件
wc 統(tǒng)計字符是也把換行符統(tǒng)計進(jìn)去,但是別的命令不一定會把換行符算進(jìn)去,。
常見參數(shù):
切記:用less命令,按q退出
cut命令是按關(guān)鍵詞來切的
常見參數(shù):
排列前:
排列后:
解釋:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。
命令行查看一個表格結(jié)構(gòu)時,因為制表符對齊的原因,出現(xiàn)一個錯位的現(xiàn)象。還有 字典排序 可能和我們平時的認(rèn)知不一樣,所以 加上-n參數(shù) , 讓數(shù)值有數(shù)學(xué)意義上的大小來排序 。
uniq命令去重,只有兩行出現(xiàn)重復(fù),而且是相鄰的兩行,如果不相鄰,即使出現(xiàn)兩行一模一樣,不會去重。
uniq命令通常和sort命令搭配使用
換其它文件試試
總之,uniq命令使用時經(jīng)常和sort一起
常見參數(shù):
常見用法1:
paste file1 file2
-s :按行合并 演示
常見用法2 : paste - -
常見參數(shù):
要養(yǎng)成一個好習(xí)慣,原始數(shù)據(jù)不要輕易修改,修改的東西另外保存,文本保存用 (重定向)或是 (追加)
1. 用 less 查看 example.gtf ,然后管道符傳遞給 wc
2. 截取 example.gtf 第 9 列的內(nèi)容
3. 在第2步的基礎(chǔ)上截取分號分割的第1列
4. 在第3步的基礎(chǔ)上排序、去重復(fù)并統(tǒng)計
5. 在第4步的基礎(chǔ)上,將空格替換成制表符
補充小知識 :
清屏 :control L
查看歷史(輸入過的)命令 :history
Linux下常用文本處理命令大全
Linux下面有很多經(jīng)典的非常有用的命令,其中處理文本的命令就有很多。下面就讓我們一起看看這些經(jīng)典的Linux文本處理命令有哪些吧。
一. sort
文件排序, 通常用在管道中當(dāng)過濾器來使用. 這個命令可以依據(jù)指定的關(guān)鍵字或指定的字符位置, 對文件行進(jìn)行排序. 使用-m選項, 它將會合并預(yù)排序的輸入文件. 想了解這個命令的全部參數(shù)請參考這個命令的info頁.
二. tsort
拓?fù)渑判? 讀取以空格分隔的有序?qū)? 并且依靠輸入模式進(jìn)行排序.
三. uniq
這個過濾器將會刪除一個已排序文件中的重復(fù)行. 這個命令經(jīng)常出現(xiàn)在sort命令的管道后邊.
四. expand, unexpand
expand命令將會把每個tab轉(zhuǎn)化為一個空格. 這個命令經(jīng)常用在管道中.
unexpand命令將會把每個空格轉(zhuǎn)化為一個tab. 效果與expand命令相反.
五. cut
一個從文件中提取特定域的工具. 這個命令與awk中使用的print $N命令很相似, 但是更受限. 在腳本中使用cut命令會比使用awk命令來得容易一些. 最重要的選項就是-d(字段定界符)和-f(域分隔符)選項.
六. paste
將多個文件, 以每個文件一列的形式合并到一個文件中, 合并后文件中的每一列就是原來的一個文件. 與cut結(jié)合使用, 經(jīng)常用于創(chuàng)建系統(tǒng)log文件.
七. join
這個命令與paste命令屬于同類命令. 但是它能夠完成某些特殊的目地. 這個強力工具能夠以一種特殊的形式來合并兩個文件, 這種特殊的形式本質(zhì)上就是一個關(guān)聯(lián)數(shù)據(jù)庫的簡單版本.
join命令只能夠操作兩個文件. 它可以將那些具有特定標(biāo)記域(通常是一個數(shù)字標(biāo)簽)的行合并起來, 并且將結(jié)果輸出到stdout. 被加入的文件應(yīng)該事先根據(jù)標(biāo)記域進(jìn)行排序以便于能夠正確的匹配.
八. head
把文件的頭部內(nèi)容打印到stdout上(默認(rèn)為10行, 可以自己修改). 這個命令有一些比較有趣的選項.
九. tail
將一個文件結(jié)尾部分的內(nèi)容輸出到stdout中(默認(rèn)為10行). 通常用來跟蹤一個系統(tǒng)logfile的.修改情況, 如果使用-f選項的話, 這個命令將會繼續(xù)顯示添加到文件中的行.
十. wc
wc可以統(tǒng)計文件或I/O流中的”單詞數(shù)量”:
十一. fold
將輸入按照指定寬度進(jìn)行折行. 這里有一個非常有用的選項-s, 這個選項可以使用空格進(jìn)行斷行(譯者: 事實上只有外文才需要使用空格斷行, 中文是不需要的)(請參考例子 12-23和例子 A-1).
十二. fmt
一個簡單的文件格式器, 通常用在管道中, 將一個比較長的文本行輸出進(jìn)行”折行”.
十三. col
這個命令用來濾除標(biāo)準(zhǔn)輸入的反向換行符號. 這個工具還可以將空白用等價的tab來替換. col工具最主要的應(yīng)用還是從特定的文本處理工具中過濾輸出, 比如groff和tbl. (譯者: 主要用來將man頁轉(zhuǎn)化為文本.)
十四. column
列格式化工具. 通過在合適的位置插入tab, 這個過濾工具會將列類型的文本轉(zhuǎn)化為”易于打印”的表格式進(jìn)行輸出.
十五. colrm
列刪除過濾器. 這個工具將會從文件中刪除指定的列(列中的字符串)并且寫到文件中, 如果指定的列不存在, 那么就回到stdout. colrm 2 4 filename將會刪除filename文件中每行的第2到第4列之間的所有字符. p="" /filename將會刪除filename文件中每行的第2到第4列之間的所有字符.
Caution: 如果這個文件包含tab和不可打印字符, 那將會引起不可預(yù)期的行為. 在這種情況下, 應(yīng)該通過管道的手段使用expand和unexpand來預(yù)處理colrm.
十六. nl
計算行號過濾器. nl filename將會把filename文件的所有內(nèi)容都輸出到stdout上, 但是會在每個非空行的前面加上連續(xù)的行號. 如果沒有filename參數(shù), 那么就操作stdin.
nl命令的輸出與cat -n非常相似, 然而, 默認(rèn)情況下nl不會列出空行.
十七. pr
格式化打印過濾器. 這個命令會將文件(或stdout)分頁, 將它們分成合適的小塊以便于硬拷貝打印或者在屏幕上瀏覽. 使用這個命令的不同的參數(shù)可以完成好多任務(wù), 比如對行和列的操作, 加入行, 設(shè)置頁邊, 計算行號, 添加頁眉, 合并文件等等. pr命令集合了許多命令的功能, 比如nl, paste, fold, column, 和expand.
pr -o 5 –width=65 fileZZZ | more 這個命令對fileZZZ進(jìn)行了比較好的分頁, 并且打印到屏幕上. 文件的縮進(jìn)被設(shè)置為5, 總寬度設(shè)置為65.
一個非常有用的選項-d, 強制隔行打印(與sed -G效果相同).
十八. gettext
GNU gettext包是專門用來將程序的輸出翻譯或者本地化為不同國家語言的工具集. 在最開始的時候僅僅支持C語言, 現(xiàn)在已經(jīng)支持了相當(dāng)數(shù)量的其它程序語言和腳本語言.
想要查看gettext程序如何在shell腳本中使用. 請參考info頁.
十九. msgfmt
一個產(chǎn)生二進(jìn)制消息目錄的程序. 這個命令主要用來本地化.
二十. iconv
一個可以將文件轉(zhuǎn)化為不同編碼格式(字符集)的工具. 這個命令主要用來本地化.
二十一. recode
可以認(rèn)為這個命令是上邊iconv命令的專業(yè)版本. 這個非常靈活的并可以把整個文件都轉(zhuǎn)換為不同編碼格式的工具并不是Linux標(biāo)準(zhǔn)安裝的一部分.
二十二. TeX, gs
TeX和Postscript都是文本標(biāo)記語言, 用來對打印和格式化的視頻顯示進(jìn)行預(yù)拷貝.
TeX是Donald Knuth精心制作的排版系統(tǒng). 通常情況下, 通過編寫腳本的手段來把所有的選項和參數(shù)封裝起來一起傳到標(biāo)記語言中是一件很方便的事情.
1、進(jìn)入Ubuntu桌面后,打開終端,快捷鍵為ctrl+alt+T。
2、打開終端后,使用cd命令進(jìn)入到要修改的文件的目錄,如圖進(jìn)入到 /home/cdh/myFolder(相當(dāng)于~/myFolder)目錄,該目錄下有兩個文件。
3、終端修改txt文件可以使用mv或cp命令。先用mv命令修改文件名,例如我想將 test.txt 修改為 new.txt,則命令為udo mv test.txt new.txt,修改后結(jié)果如圖。
4、使用cp命令則是通過復(fù)制原文件來修改命名。例如想將localFile.py修改為new.py,則命令為sudo cp localFile.py new.py如果想將原文件刪除,則再輸入命令sudo rm localFile.py 即可。
5、想修改文件夾命名也是使用mv命令。如圖,我先輸入 cd ../ 退出上一個目錄。如果想將文件夾 myFolder 修改為 newFolder,則命令為sudo rm myFolder newFolder。
cat命令用于查看純文本文件(較短的):
$ cat [選項] 文件
以下是cat命令常用的3個選項:
(1) $ cat -n 文件
-n 表示顯示行號。
(2) $ cat -b 文件
-b 表示顯示行號,但是不包括空行。
(3) $ cat -A 文件
-A 表示顯示出不可見的符號,如空格、tab鍵等。
more命令用于查看純文本文件(較長的):
$ more [選項] 文件
more命令常用的一個參數(shù)是"- 數(shù)字",表示預(yù)先顯示的行數(shù),默認(rèn)是一頁:
$ more -10 文件
head命令用于查看純文本文檔的前N行:
$ head [選項] 文件
(1) $ head -n 10 文件
這個命令表示顯示文件的前10行。
(2) $ head -n -10 文件
這個命令表示正常輸出,但是不顯示最后的10行。
tail命令用于查看純文本文檔的后N行:
$ tail [選項] [文件]
例如,顯示文件/etc/passwd的后10行:
$ tail -n 10 /etc/passwd
wc命令用于統(tǒng)計指定文本的行數(shù)、字?jǐn)?shù)、字節(jié)數(shù):
$ wc [參數(shù)] 文本
(1) $ wc -l 文本
-l 參數(shù)表示只顯示行數(shù)。
(2) $ wc -w 文本
-w 參數(shù)表示只顯示單詞數(shù)。
(3) $ wc -c 文本
-c 參數(shù)表示只顯示字節(jié)數(shù)。