熱搜:win11繞過硬件限制安裝 一鍵重裝Win10系統(tǒng) 最干凈的u盤啟動盤 真正純凈版的win7系統(tǒng)
時間:2014-12-31 15:50:39 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20141231/33843.html 手機查看 評論 反饋
•累加每一行的第一個字段:
代碼如下:
echo -e ”1\n 2\n 3\n 4\n“ | awk ‘BEGIN{num = 0 ;
print ”begin“;} {sum += $1;} END {print ”==“; print sum }’
傳遞外部變量
代碼如下:
var=1000
echo | awk ‘{print vara}’ vara=$var # 輸入來自stdin
awk ‘{print vara}’ vara=$var file # 輸入來自文件
用樣式對awk處理的行進(jìn)行過濾
awk ‘NR 《 5′ #行號小于5
awk ‘NR==1,NR==4 {print}’ file #行號等于1和4的打印出來
awk ‘/linux/’ #包含linux文本的行(可以用正則表達(dá)式來指定,超級強大)
awk ‘!/linux/’ #不包含linux文本的行
設(shè)置定界符
使用-F來設(shè)置定界符(默認(rèn)為空格)
awk -F: ‘{print $NF}’ /etc/passwd
讀取命令輸出
使用getline,將外部shell命令的輸出讀入到變量cmdout中;
代碼如下:
echo | awk ‘{”grep root /etc/passwd“ | getline cmdout; print cmdout }’
在awk中使用循環(huán)
for(i=0;i《10;i++){print $i;}
for(i in array){print array[i];}
eg:
以逆序的形式打印行:(tac命令的實現(xiàn))
代碼如下:
seq 9| \
awk ‘{lifo[NR] = $0; lno=NR} \
END{ for(;lno》-1;lno--){print lifo[lno];}
} ’
awk實現(xiàn)head、tail命令
•head:
代碼如下:
awk ‘NR《=10{print}’ filename
•tail:
代碼如下:
awk ‘{buffer[NR%10] = $0;} END{for(i=0;i《11;i++){ \
print buffer[i %10]} } ’ filename
打印指定列
•awk方式實現(xiàn):
代碼如下:
ls -lrt | awk ‘{print $6}’
•cut方式實現(xiàn)
代碼如下:
ls -lrt | cut -f6
打印指定文本區(qū)域
•確定行號
代碼如下:
seq 100| awk ‘NR==4,NR==6{print}’
發(fā)表評論
共0條
評論就這些咯,讓大家也知道你的獨特見解
立即評論以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場