1. cut [選項] 文件名spa
-f 列號 #提取第幾列(分隔符默認爲\t)排序
-d 分隔符 #指定分隔符字符串
例如:cut -f 2 a.txt #截取文件a.txt內容的第二列(列號從1開始)awk
cut -f 2,4 a.txt #截取文件a.txt內容的第二列和第四列sed
cut -d ":" -f 1,3 /etc/passwd #截取文件passwd文件的第1列和第三列,以:分割取其中的第一列和第三列im
2. printf '輸出類型 輸出格式' 輸出內容統計
輸出類型:數據
%ns 輸出字符串,n是數字,指代輸出幾個字符sort
%ni 輸出整數。n是數字,指代輸出幾個數字word
%m.nf 位數和小數位數。例如:%8.2f 表明輸出8位數,其中2位是小數,6位是整數
輸出格式:
\a 輸出警告聲音
\b 輸出退格鍵,也就是BackSpace鍵
\f 消除屏幕
\n 換行
\r 回撤
\t 水平製表符
\v 垂直製表符
舉例:
printf '%s %s %s\n' 1 2 3 4 5 6 #表示每三個位一組輸出,並加換行符
printf '%s\t%s\t%s\t' $(cat a.txt) #表示以4列的形式輸出
3. awk '條件1{動做1}條件2{動做2}...' 文件名
awk '{printf $2 "\t" $6 "\n"}' a.txt #輸出文件a.txt的第二列和第6列
4. sed [選項] '[動做]' 文件名 #說明:動做必須用引號引發來
選項:
-n 通常sed命令會把全部數據都輸出到屏幕。若是加入此選擇,則只會把通過sed命令處理的行輸出到屏幕。
-e 容許對輸入數據應用多條sed命令編輯
-i 用sed的修改結果直接修改讀取的數據的文件,而不是修改屏幕輸出
動做:
a\ 追加,在當前行後添加一行或多行。添加多行時除最後一行外,每行末尾須要用"\"表明數據未完結。
c\ 行替換,用c後面的字符替換原數據行,替換多行時除最後一行外,每行末尾須要用"\"表明數據未完結。
i\ 插入,在當前插入一行或多行,插入多行時,除最後一行外每行末尾需用"\"表明數據未完結。
d 刪除,刪除指定的行
p 打印,輸出指定的行
s 字符串替換,用一個字符串替換另一個字符串。格式爲"行範圍 s/舊字符串/新字符串/g"
sed能夠接收管道符的輸出結果
舉例:
sed '2p' a.txt #輸出第2行後,又把全部內容輸出一遍
sed -n '2p' a.txt #只輸出第二行
sed '2,4d' a.txt #刪除第2到4行,只刪除屏幕輸出,不會更改文件自己的內容
sed '2a hello' a.txt #在第二行插入一行 hello
sed '2i hello' \
word' a.txt #在第二行前插入多行 hello 一行 word一行
sed '2c no person' a.txt #用no person 替換第二行
sed '4s/99/55/g' a.txt #把第4行的99替換爲55
sed -i '4s/99/55/g' a.txt #把第4行的99替換爲55,修改的是原文件而不是屏幕輸出
sed -i 's/99/55/g' a.txt #s前不加行號時表示替換整個文件中匹配的字符串
sed -e 's/Liming//g;s/Gao//g' a.txt #-e表示容許多個條件執行,把Liming替換爲空,把Gao替換爲空
5. sort [選項] 文件名 #排序
選項:
-f 忽略大小寫
-n 以數值型進行排序,默認使用字符串型排序
-r 反向排序
-t 指定分隔符,默認分隔符是製表符
-k n[,m] 按照指定的字段範圍排序。從第n字段開始,m字段結束(默認到行尾)
6. wc [選項] 文件名 #統計
選項:
-l 只統計行數
-w 只統計單詞數
-m 只統計字符數