awk 一些實用的用法

2021-09-01 07:20:32 字數 1522 閱讀 2770

在awk中 ,需要注意以下的幾個簡寫

$0    //顯示所有

$1    //顯示第一列

$2    //顯示第二列

以此類推

awk '' /etc/fstab      

顯示/etc/fstab檔案的 第一, 第二列

awk 'begin ' /etc/fstab   

顯示/etc/fstab檔案的 第一, 第二列,並在開頭的地方加上指定的語句

awk 'end ' /etc/fstab   

顯示/etc/fstab檔案的 第一, 第二列,並在尾部的地方加上指定的語句

awk '' /etc/fstab

精確查詢,尋找在/etc/fstab中 第二列 含有 roc 字元的 字元,並輸出整行

可以理解為 如果$2 匹配 roc 則列印出整行

等同於 

awk '$2~/roc/' /etc/fstab

awk '$2=="\/proc" ' /etc/fstab

查詢第二列等於 /proc ,並輸出整行

awk '$2!=="/proc" ' /etc/fstab

加上!表示取反,也就輸出除開第二列是/proc的所有行

awk '$0~/[pp]ro/ ' /tmp/test 

表示只要匹配裡面內容任意乙個即可或是沒有匹配到裡面的內容

awk '' /tmp/test 

如果第五列的值大於 0 則輸出所有,並在尾部加上字串 yes

awk '' /tmp/test 

等同於awk '$0~/(pts|log)/' /tmp/test

匹配整行是否含有pts或是log字元

awk '' /tmp/test 

加多乙個相與的條件

nr列印出檔案的記錄個數

awk ' end ' /tmp/test   

可在最後列印出有多少行

nf 表示有多少列

echo $pwd | awk -f/ ' '

$pwd 為linux的內建變數,其值為當前路徑,

-f/ 表示以/為分隔符

$nf 表示為最後乙個元素

最終的結果是取出當前的資料夾名字

echo $pwd | awk -f/ ' '  //則表示 獲取的是第二個元素 

ll /aclog/bugreport/ |awk '' 

獲取指定目錄下第一列 含有 - 字元的 檔名

ll | awk 'begin '

先在 begin中定義乙個變數

ll |awk ''

本來是沒有第10列的,然後新增乙個域,且值為 $7+1

ll |awk ';end '

統計第7列的總和,並在結尾列印出來

awk 'gsub(/none/,"hehe")' /tmp/test 

替換,gsub(r,s) ,s替換r

sed 's/none/hehe/' /tmp/test 

以上兩句話的作用差不多,但是awk只顯示含有none的行,sed則會顯示所有行

awk的一些用法

awk是個非常強大的乙個工具,在我看來位列三劍客之首,下面記錄一些非常好的用法 一 比較常用的是統計tcp的狀態 netstat n awk tcp end 二 awk呼叫外部命令 awk tt.txt 將檔案裡面的第二列作為使用者,第一列作為主目錄,此命令呼叫了useradd命令,可以批量建使用者...

一些實用的模板

1 floyd判最小環 注 包含基本的floyd演算法。最好寫的單源最短路徑演算法。但時間複雜度o n 3 n 1000基本就用不了了。void floyd 3 dijkstra 迪傑斯特拉 演算法 單源最短路徑演算法 基本思路 每次確定到起點距離最短且距離尚未確定的點的dis,並對其所有鄰邊進行鬆...

css中一些實用屬性及用法

h1none 預設無操作 uppercase 全大寫 lowercase 全小寫 capitalize 首字母大寫 span first line 偽元素用於向文字的首行設定特殊樣式。font variant 屬性設定小型大寫字母的字型顯示文字,這意味著所有的小寫字母均會被轉換為大寫,但是其字型尺寸...