一、cut
cut工作是"剪",就是在文件中剪切數據用的,cut命令從文件的每一行剪切字節、字符和字段並將這些字節、字符和字段輸出。
1、基本語法
cut [選項參數] filename // 默認分隔符是製表符
參數説明:
-f 列號,提取第幾列
-d 分隔符,按照指定分隔符分割列
aaa bbb
ccc ddd
eee fff
cut -d " " -f 1 test.txt
二、sed
sed 是一種流編輯器,它是一次處理一行內容。處理時,把當前處理的行存儲在臨時緩衝區中,稱為"模式空間",接着sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往屏幕。接着處理下一行,這樣不斷重複,知道文件末尾。文件內容並沒有改變,除非你使用重定向存儲輸出。
1、基本語法
sed [選項參數] 'command' filename
選項參數説明:
-e 直接在指令列模式上進行sed動作編輯
命令功能描述:
a 新增,a的後面可以接字符串,在下一行出現// 帶引號
d 刪除
s 查找並替換
aaa bbb
ccc ddd
eee fff
sed "2a ttt sss" test.txt // 第二行下追加一行
aaa bbb
ccc ddd
ttt sss
eee fff
三、awk
awk 一個非常強大的文本分析工具,把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進行分析處理。
1、基本語法
awk [選項參數] 'pattern1{action1} pattern2{action2}...' filename
pattern:表示awk在數據中查找的內容,就是匹配模式
action:查找到匹配內容時執行的一些列命令
選項參數説明:
-F 指定輸入文件折分隔符
-v 賦值一個用户定義變量
awk內置變量:
FILENAME 文件名
NR 已讀的記錄數
NF 瀏覽記錄的域的個數(切割後,列的個數)
// 搜索以root開頭的所有行,並輸出該行的第7列
awk -F : '/^root/{print $7}' /etc/passwd
四、sort
awk 將文件進行排序,並將排序結果標準輸出。
1、基本語法
sort(選項)(參數)
選項:
-n 依照數值大小排序
-r 以相反的順序排序
-t 設置排序時所用的分隔字符
-k 指定需要排序的列
參數:指定待排序的文件列表
sort -t : -nrk 2 test.sh // 分隔 以第二列排序