awk----基本用法
awk具體的請看這個
https://www.cnblogs.com/bwbfight/p/9402738.html
awk 竟然自詡一種語言,ok.... 牛
既然這樣就學習一下吧
awk -F‘[指定多個分隔符]’
比如 awk -F'[ :]'表示指定:空格為分隔符
涉及多個重復(fù)分割符可以這樣指定 awk -F'[ :]+' 表示多個空格或者多個:號表示一個整體
例子
獲取ip:
?
?
NF(number of field)字段數(shù):
如果字段數(shù)不一樣如何取最后一個字段呢?
如下例子
這里引入一個FNR
?
上面表示如果NR和FNR相等,顯然打印test.txt(NR順序計數(shù),FNR分別計數(shù)),不等打印test1.txt
FNR在多文件時會分別統(tǒng)計行數(shù),NR則是一起統(tǒng)計
?
打印指定行
打印第三行 awk 'NR==3{ print $0}' test.txt
awk 模式
awk 'true/false{行為}true/false{行為}'
awk '0{print $1}' test.txt =====結(jié)果一行也不打印
awk '1{print $1}' test.txt =====結(jié)果全部打印
awk 'NR==3{print $1}' test.txt====打印第三列
awk 'NR==2{print $1} NR==3' test.txt===打印第二三列
awk 'BEGIN{pint “-----start--------”}NR==1{print $0 }END{print '-----end----------------'}' test.txt
?
awk計算
awk '{a+=$1}END{print $1} '? a.txt ===把a.txt第一列加起來,并打印結(jié)果
awk '{a=$1+$2+$3;print a,int(a/3)}'? a.txt====把a.txt的每一行第一列,第二列,第三列加起來求平均值
awk變量
在shell外邊定義的變量,如何在awk中使用呢?
a=1
awk -va=$a '{print a}'
awk ‘{print '$a'}’
以上為獲取bash上變量的值在awk中使用的方法
-v 定義變量
awk -va=1 '{print $a}'
awk '{a=1;print a}'
?
?awk for循環(huán)
?awk 正則表達式
取ip
這種awk不支持
?
?
獲取test.txt第一列和test1.txt的第二列寫入文件
?
方法二:
?
?
?
取 df -h中USe%列的和
實現(xiàn)只打印前六行
?
轉(zhuǎn)載于:https://www.cnblogs.com/bwbfight/p/10483271.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的awk----基本用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: scrapy 采集网页出现丢失url的问
- 下一篇: Unity插件Gaia使用介绍