目錄 一、grep查找文件內容 二、sort排序 三、uniq統計壓縮重覆 四、tr替換壓縮 五、cut截斷 六.sqlit拆分 七.paste合併 八.eval 一、grep(匹配文件內容) grep [選項]… 查找條件 目標文件 -m 匹配次數 -v 除什麼以外 -i 忽略大小寫 -n 顯示匹 ...
目錄
一、grep查找文件內容
二、sort排序
三、uniq統計壓縮重覆
四、tr替換壓縮
五、cut截斷
六.sqlit拆分
七.paste合併
八.eval
一、grep(匹配文件內容)
grep [選項]… 查找條件 目標文件
-m 匹配次數
-v 除什麼以外
-i 忽略大小寫
-n 顯示匹配行號
-c 統計行號
-o 僅顯示匹配到的字元串
-q 靜默模式,不輸出任何信息
-A 後幾行
-B # before, 前#行
-C # context, 前後各#行
-e 實現多個選項間的邏輯or關係,如:grep –e ‘cat ' -e ‘dog' file
-w 匹配整個單詞
-E 使用ERE,相當於egrep,使用擴展正則
-F 不支持正則表達式
-f file 根據模式文件,處理兩個文件相同內容 把第一個文件作為匹配條件
-r 遞歸目錄,但不處理軟鏈接
-R 遞歸目錄,但處理軟鏈接
1.顯示含a的兩行在passwd中
2.顯示除a以外兩行
3.忽略大小寫
4.顯示匹配內容的行號
5.統計匹配到含a的行數
6.僅顯示匹配內容
7.靜默模式,無事發生
8.A後幾行顯示
9.B前幾行顯示
10.-e多個匹配條件
11.w匹配整個字元
12.f兩個文件相同地方
13^$非空行
二、sort
sort命令以行為單位對文件內容進行排序,也可以根據不同的數據類型來排序
語法格式:
sort 選項 參數
-f:忽略大小寫,預設會大寫字母排在前面
-b:忽略每行前面的空格
-n:按照數字進行排序
-r:反向排序
-u:等同uniq,表示相同的數據僅顯示一行,去重
-t:指定欄位分隔符,預設使用tab鍵分隔
-k:指定排序欄位
-o <輸出文件>:將排序後的結果轉存至指定文件
1.-f忽略大小寫(以行為一個整體,以第一個字母先對比)
2.-b忽略空格
3.-n按數字大小排序
4.-r反向排序
5.u去重
6.t 使用分隔符分隔
7.k指定排序欄位
8.o排序後存放指定文件
三、uniq(去重)
-c 統計連續重覆的行的次數,並且合併重覆的行
-u 顯示僅出現一次的行(包括不連續的重覆行)
-d 僅顯示重覆出現的行(必須是連續的重覆行)
1.-c統計重覆行
2.-u顯示僅出現一次的行
3.-d僅出現重覆的行
四、tr
常用於對來自標準輸入的字元進行替換、壓縮和刪除
-c:保留字元集1的字元,其他的字元(包括換行符\n)用字元集2替換
-d:刪除所有屬於字元集1的字元
-s:將重覆出現的字元串壓縮為一個字元串,用字元集2 替換 字元集1
-t:字元集2 替換 字元集1,不加也行
1.顯示1的位置用2替換
2.刪除指定位置字元
3.-s重覆壓縮,用位置2字元替換字元1
將第三個位置替換為1並壓縮重覆字元
4.t替換
五、cut
快速裁剪命令
d 指定分隔符(預設分隔符為Tab)
-f 按欄位進行截取。指定第n個欄位;
-b 以位元組為單位進行截取
-c 以字元為單位進行截取
–complement 排除所指定的欄位
–output-delimiter 更改輸出內容的分隔符
1.d指定分割
截取以:為分割2位置到3位置數據
2.指定已":"作為分隔符,但是刪除了第二個欄位進行輸出
3.將分隔符轉換為@,進行輸出
六、split
split命令用於在Linux下將大文件拆分為若幹小文件。
-l 指定行數
-b 指定文件的大小
1.-l指定拆分為2行
2.指定差分後文件名
3.-b指定大小
七、paste
按照欄位來進行文件的合併
-d 用於指定文件的分隔符(預設情況下為製表符"\n")
-s 將列和行的內容進行互相交換
1.paste
paste是左右合併,cat是上下合併
2.-d指定連接處
3.s行和列互換
八、eval
命令字前加上eval,shell會在執行命令之前掃描它兩次,