基本關鍵字搜索
grep keyord
grep Minecraft
find / -user video 2> errorReport | grep video
參數
-i 不區分大小寫
-n 顯示所在行數
-v 輸出不帶關鍵字的行(取反)
-Ax 輸出包含結果所在行之后的x行
-Bx 輸出包含結果所在行之前的x行
基于列文本處理
cut -d: -f3 /etc/passwd
grep ldh /etc/passwd | cut -d: -f3
參數
d 指定分割符
f 指定第幾列
c 指定字符,如-c2-6 輸出第2到第6個字符
文本統計
wc 文本名稱
參數
-l 只顯示行數
-w 統計單詞數
-c 統計字節數
-m 統計字符數
文本排序
sort 文本名
參數
-r 倒序排序
-n 基于數字進行排序
-f 忽略大小寫
-u 刪除重復行
-t c 使用c作為分割符,分割成列進行排序
-k x 當進行基于指定字符作為分隔符為列的排序時,指定基于那個列排序
刪除重復行
sort -u 文件名
uniq 文件名 只刪除相鄰的重復行
文本比較
diff 用來比較兩個文本的區別
diff 文本1 文本2
參數
-i 忽略大小寫
-b 忽略空格數量的改變
-u 統一顯示比較信息(一般用以生成patch文件)
diff -u 文件1 文件2 > file.patch
處理文本內容
- 刪除關鍵字
tr -d 'TMD' < fileName - 轉換大小寫
tr 'a-z' 'A-Z' < fileName
注意這里必須使用重定向 <
也可以試一下
tr '1-6' 'A-Z' < fileName看看會發生什么。
搜索替換
sed用以搜索和替換文本
sed 's/要替換的文本/替換文本/g' 文本名稱
其中,
g代表替換所有,否則只替換搜索到的第一個
sed '1,50s/要替換的文本/替換文本/g' 文本名稱
只替換1到50行
參數
-e 可以同時指定多個替換
-f sededit 調用sededit文件里的sed命令