awk文本分析處理

1,簡(jiǎn)介

1) 從輸入流讀取一行(文件,管道或者標(biāo)準(zhǔn)輸入),存儲(chǔ)到內(nèi)存中。
echo hzq 123 | awk '{print $0}'
awk '{print $0}' test.csv
grep line test.csv | awk 'print $0'
2)對(duì)每一行執(zhí)行執(zhí)行相應(yīng)的命令,處理文本。(默認(rèn)的域分隔符是空格和tab,可以使用-F指定單一的tab分隔符-F '\t')
域分隔符分開的每一項(xiàng)稱為一個(gè)域。
3)對(duì)每一行,重復(fù)執(zhí)行命令,直到結(jié)尾。

2,語法與概念

1)awk [-F field-separator] 'commands' -F 指定域分隔符, 默認(rèn)為空格或者tab
awk -F ':' '{print $1"\t"$2}' test.csv指定 :作為域分隔符。
2)awk內(nèi)置的變量
$0 : 整行記錄
$1~$n : 表示第1~n個(gè)域
NF:域的個(gè)數(shù)
NR:已讀的記錄數(shù)awk '{print NR "\t" NF}' test.csv
FNR 當(dāng)前記錄數(shù),是各個(gè)文件自己的行號(hào)
$NF 表示的最后一個(gè)Field(域)
FS 輸入字段分隔符 默認(rèn)是空格或Tab
RS 輸入的記錄分隔符, 默認(rèn)為換行符

3,例子

1)netstat -anp | grep tcp | awk '{printf "%s %s %-8s %-8s %-8s %-22s %-22s %-15s %-15s\n",NR,FNR,$1,$2,$3,$4,$5,$6,$7}'
2)netstat -anp | grep tcp | awk '$6 == "LISTEN" || $6 == "ESTABLISHED" {print $7}'
3) awk -F ':' '{print $1, $6}' /etc/passwd
awk 'FS=":" {print $1, $6}' /etc/passwd
4)awk '$NF ~ /976/ {print $NF}' test.csv最后一個(gè)域匹配字符串976的
netstat -anp | grep tcp | awk '/ESTABLISHED/ && !/mysql/'

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • awk介紹awk變量printf命令:實(shí)現(xiàn)格式化輸出操作符awk patternawk actionawk數(shù)組aw...
    哈嘍別樣閱讀 1,732評(píng)論 0 4
  • awk命令的基本使用 [root@shellscript ~]# head -n 3 /etc/passwd | ...
    古寒飛閱讀 1,105評(píng)論 0 2
  • awk:報(bào)告生成器,格式化文本輸出 內(nèi)容: awk介紹 awk基本用法 awk變量 awk格式化 awk操作符 a...
    BossHuang閱讀 1,553評(píng)論 0 9
  • awk: grep,sed,awk grep:文本過濾 sed:文本編輯 awk:文本格式化工具; 1 什么是aw...
    木林森閱讀 1,898評(píng)論 0 16
  • 本章主要學(xué)習(xí)內(nèi)容awk介紹 ?awk基本用法 ?awk變量 ?awk格式化 ?awk操作符 ?awk條件判斷 ?a...
    楠人幫閱讀 1,368評(píng)論 0 8

友情鏈接更多精彩內(nèi)容