擷取檔案內容工具:head、tail
按列抽取檔案內容
分析、統計文字的工具
#cat命令是不嫩檢視二進位制檔案的哦,會出現亂碼!
#cat命令既有標準輸入又有標準輸出
-e 可以顯示文字當中的換行符$
-a 顯示一些不可見的字元比如tab
-n 加行號,僅顯示,並不會改變問價內容
-b 給非空行加行號
-s 壓縮檔案單中相鄰的空白行
相關小命令
tac 命令與cat相反,其效果也與cat相反為將檔案按行方向顯示
nl 也是給非空行加行號,等同於cat -b
rev 是將檔案按列以相反方向顯示
hexdump、od、xxd 都是可以檢視二進位制檔案的命令
head、tail命令都可用於擷取檔案
head命令直接跟檔案的話,預設是擷取檔案的前十行資訊
-c# 指定擷取檔案的前#個位元組
-n# 指定擷取檔案的前#行
-# 和-n#效果一致
tail命令直接跟檔案的話,預設是擷取檔案的後十行資訊
-c# 指定獲取後#個位元組
-n# 指定獲取檔案的後#行
-# 和-n#效果一致
#不同於head的是tail有乙個額外的功能,那就是可以跟蹤檔案的尾端的內容,一般用於監控日誌檔案。
-f 跟蹤檔案的描述符,當原始檔被刪除時不提示,並且當新建乙個與刪除的檔案同名的檔案的時候哪怕檔案內容都一致,但是-f都不會繼續跟蹤了,因為新建的檔案描述符與原始檔描述符不一致。
-f 跟蹤檔名,當原始檔被刪除時會有提示,當新建乙個與原檔案同名的檔案時,tail會繼續跟蹤,哪怕檔案內容已被改變,因為-f只關心檔名是否一致。
cut同樣是乙個抽取檔案內容命令,只不過這個命令是採取按列來抽取的
-d 指明分隔符
-f# 指定以分隔符分隔後想要取的列
# 指定第#個字段
#,# 擷取多個不連續的字元 例:1,3,5
#-# 擷取多個連續的字元 例:1-5
-c 按字元分割
paste是乙個用於合併檔案的命令
-d 可用於指定分隔符,如果不指定,預設的分隔符是tab
-s 將兩個檔案所有的行合成一行進行合併顯示
示例:file1內容為:12
3file2內容為:ab
c#下列^i為tab鍵
paste file1 file2 結果顯示為:
1^ia
2^ib
3^ic
paste -s file1 file2 結果顯示為:
1^i2^i3
a^ib^ic
wc可用於文字資料統計
-l 顯示檔案行數
-w 顯示檔案單詞數
-c 顯示問價位元組數
-m 顯示檔案字元數
-l 顯檔案最長行的長度
sort命令可用於整理檔案
-t : 以:做為字段的分隔符
-k # 選項按照使用:字元分隔的#列
-n 按照數字進行排序
-r 按倒序排列
-r 隨機進行排序
-f 忽略大小寫
-u 去重,把相鄰的相同行進行合併
uniq命令是把重複的相鄰的行壓縮成一行
-c 顯示重複重複的次數
-d 僅顯示重複的行
-u 僅顯示不重複的行
注:連續且完全相同為重複,uniq長和sort命令一起使用。
#diff用於比較兩個檔案的不同
-u 可以列出兩個檔案跟多不同的資訊
#patch複製在其他檔案中進行的改變
-d 起到備份作用
#如果將f1.txt、f2.txt兩個檔案對比結果重定向 > 生成新的檔案diff.log,此時如果f1.txt或f2.txt當中有乙個檔案被刪除,可以使用patch命令將被刪除的檔案找回。因為生成的新檔名會自定義為沒被刪除的那個檔名,所以在找回檔案之前我們要先將沒被刪除的那個檔案進行備份-b。列如:patch -b f1.txt diff.log、那麼f1.txt檔案裡的內容將會是我們找回的f2.txt的內容,f1.txt.orig備份檔案裡的內容將是我們原有f1.txt裡的內容。
6文字處理工具
1 grep命令 i 忽略大小寫 n 顯示結果所在行的行號 c 結果個數 v 反向過濾 r 關鍵字 目錄 在目錄中過濾含有關鍵字的檔案 e 關鍵字1 關鍵字2 過濾多個關鍵字 root localhost cp etc passwd root localhost ls file filegreat ...
011 文字處理工具
cat b acl.txt 刪除空行標註行號 cat n acl.txt 統計所有行 cat ns acl.txt 壓縮空行,跟整體保持一致 cat a acl.txt 顯示所有控制符 tac acl.txt 反向顯示內容 cat顛倒了 rev f2.log 在同一行裡反寫 more anacond...
3 2 文字處理工具
全域性搜尋表示式 命令grep root file 過濾root關鍵字 貪婪模式 grep root file 過濾以root開頭的關鍵字 grep root file 過濾以root結尾的關鍵字 grep i root file 忽略大小寫 grep e root字元之前不能有字元 grep e ...