天天看點

cut printf awk sed grep筆記

名稱 作用  參數 執行個體
cut 截取某列,可指定分隔

-f 列号

-d 分隔符

cut -d ":" -f 1, 3 /etc/passwd 截取第一列和第三列
printf printf '輸出類型輸出格式' 輸出内容

%ns n幾個字元 字元串

%ni n個數字 輸出整數

%m.nf 輸出浮點數

%8.2f 代表8位數,2位為小數,6位為整數

輸出格式:

\a 輸出警告聲音

\b 輸出倒退鍵

\f 清除螢幕

\n 換行

\r 回車也就是enter鍵

\t 水準輸出倒退鍵 就是tab鍵

\v 垂直輸出倒退鍵 就是tab鍵

讀取檔案:printf '%s\n' $(cat t.txt)
awk 可截取某列  

awk '條件1{動作1}條件2{動作2}' 檔案名

條件

一般使用關系表達式作為條件

BEGIN

END

x > 10

x >=10

x <10

動作:

格式化輸出

流程控制語句

例:讀取某個數字,cut分隔

FS内置變量

awk 'BEGIN{FS=":"}' 列印之前執行FS=":"

df -h |grep "/dev/xvda1" |awk '{print $5}'|cut -d "%" -f 1
sed sed是一種幾乎包括在所有平台的輕量級編輯器,主要用于将資料進行選取,替換,删除,新增指令

【選項】

-n : 加入行号

-e : 允許對輸入資料應用多條指令編輯

-i : 用sed的修改結果直接修改讀取資料的檔案,而不是由螢幕輸出

【動作】

a 追加,在目前行後添加一行或多行

c 行替換,用c後面的字元串替換原資料行

i 插入,在目前行插入一行或多行

d 删除,删除指定行

p 列印,指定行,3p

s 字元串替換,格式:"行範圍s/舊字元串/新字元串/g"

例:sed -n '2p' 列印第2行

sed '2,4d' 删除2到4行

grep   文本搜尋工具  

[options]主要參數:

-c:隻輸出比對行的計數。

-I:不區分大 小寫(隻适用于單字元)。

-h:查詢多檔案時不顯示檔案名。

-l:查詢多檔案時隻輸出包含比對字元的檔案名。

-n:顯示比對行及 行号。

-s:不顯示不存在或無比對文本的錯誤資訊。

-v:顯示不包含比對文本的所有行。

sort    排序

sort [選項] 檔案名

-f 忽略

-r 取反 # sort -r 檔案名

-t 指定分隔 #sort -t ":" -k 3,3 /etc/passwd ,3,3就是用第三頭,第三字段結尾排序,就是隻用第三字段排序

-k [n,m]

-n 将字元串看成一個整體數字

若用數字排序,則要用-n

sort /ect/passwd
wc 統計  

wc [選項] 檔案名

-l 隻統計行數

-w 隻統計單詞數

-m 隻統計字元數

wc /etc/passwd