awk的一些用法

2021-08-16 19:26:14 字數 2551 閱讀 6055

awk是個非常強大的乙個工具,在我看來位列三劍客之首,下面記錄一些非常好的用法

一 比較常用的是統計tcp的狀態

netstat -n | awk '/^tcp/ end '

二 awk呼叫外部命令

awk ''  tt.txt  //將檔案裡面的第二列作為使用者,第一列作為主目錄,此命令呼叫了useradd命令,可以批量建使用者和指定主目錄,awk裡面最後用雙引號

*awk呼叫shell命令的兩種方式

awk 'begin'

awk 'begin'

awk 'begin'

三 awk統計某一列的和

下面的命令統計第二列的和

[root@centos7 html]# cat tt.txt

1 aa

10 bb

5 cc

3 dd

2 bb

1 dd

8 cc

[root@centos7 html]# awk  'end' tt.txt|sort -n -k2

aa 1

dd 4

bb 12

cc 13

四 awk 修改原檔案

awk ''  chpass.sh  //這種方式是改變某一列然後匯入檔案

五 列印九九乘法表

[root@centos7 html]# seq 9|awk '}'

1*1=1    

2*1=2    2*2=4    

3*1=3    3*2=6    3*3=9    

4*1=4    4*2=8    4*3=12    4*4=16    

5*1=5    5*2=10    5*3=15    5*4=20    5*5=25    

6*1=6    6*2=12    6*3=18    6*4=24    6*5=30    6*6=36    

7*1=7    7*2=14    7*3=21    7*4=28    7*5=35    7*6=42    7*7=49    

8*1=8    8*2=16    8*3=24    8*4=32    8*5=40    8*6=48    8*7=56    8*8=64    

9*1=9    9*2=18    9*3=27    9*4=36    9*5=45    9*6=54    9*7=63    9*8=72    9*9=81    

六 使檔案的行列反轉

awk '}endprint " "}}' erwei.txt

七 awk將指定的內容放入一行

[root@centos7 tmp]# cat ttt.txt

the result of 11:

pp:ok

ss:ok

the result of 22:

pp:ok

the result of 33:

pp:ok

顯示為[root@centos7 tmp]# awk '/the result/!/the result/' ttt.txt;echo " "

the result of 33: pp:ok

八 將檔案的內容分成一列一列,然後將符合的一項列印

awk -f '[ ,]+' '' test.txt

九 匹配多個符合條件的行

[root@centos7 ~]# awk '$3~/400|401|402|403|203/' time.txt

ni ta 400

ni ta 401

ni wo 402

ni wo 403

ni tt 203

[root@centos7 ~]# cat time.txt

ni wo 111

ni ta 125

ni ta 400

ni ta 258

ni ta 401

ni wo 402

ni wo 403

ni hh 500

ni tt 203

十 列印第一行到倒數第四行

我們知道最後一行可以根據awk的end部分列印出來,也就是倒數第一行nr,倒數第二行:nr-1

那麼倒數第四行怎麼表示:nr-3

[root@centos7 ~]# cat awk4.txt 

0 aababb

12bdff

3aabbc

4cvc56

7cd8

910asfdafdsf

aac[root@centos7 ~]# awk 'end' awk4.txt 

0 aababb

12bdff

3aabbc

4cvc56

7cd8

方法二,可以使用nr和fnr的概念,不過較複雜就不使用了    例如: awk '...................'   awk4.txt   awk4.txt

十一:清除最後的字段,取出路徑的目錄

乙個路徑可以使用dirname path 取出它的目錄

在乙個檔案裡面可以使用,以替換的方式解決

awk -f / '' /root/awk1.txt 

awk 一些實用的用法

在awk中 需要注意以下的幾個簡寫 0 顯示所有 1 顯示第一列 2 顯示第二列 以此類推 awk etc fstab 顯示 etc fstab檔案的 第一,第二列 awk begin etc fstab 顯示 etc fstab檔案的 第一,第二列,並在開頭的地方加上指定的語句 awk end e...

的一些用法

action標籤,顧名思義,是用來呼叫action的標籤,在jsp中頁面中,可以具體指定某一命名空間中的某一action。而標籤的主體用於顯示及渲染actionr的處理結果。action標籤有如下幾個屬性 id 可選屬性,作為該action的引用id name 必選屬性,指定呼叫action nam...

IImage的一些用法

因為美工做出來的圖是png24,帶alpha通道透明的,用傳統的bitblt方法沒有辦法顯示 可能是本人比較笨啦,哈哈 所以採用了iimage的方法來進行畫圖。使用iimage的draw的方法時,要畫區域性是發現總是不對,查了一下msdn,發現是如下的問題。optional const rect s...