您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Linux中如何使用awk工具”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Linux中如何使用awk工具”這篇文章吧。
awk是linux中處理文本的強(qiáng)大工具,或者說是一種專門處理字符串的語言,它有自己的編碼格式。awk的強(qiáng)大之處還在于能生成強(qiáng)大的格式化報(bào)告。
ARGC 命令行參數(shù)個(gè)數(shù) ARGV 命令行參數(shù)排列 ENVIRON 支持隊(duì)列中系統(tǒng)環(huán)境變量的使用 FILENAME awk瀏覽的文件名 FNR 瀏覽文件的記錄數(shù) FS 設(shè)置輸入域分隔符,等價(jià)于命令行 -F選項(xiàng) NF 瀏覽記錄的域的個(gè)數(shù) NR 已讀的記錄數(shù) OFS 輸出域分隔符 ORS 輸出記錄分隔符 RS 控制記錄分隔符$0變量是指整條記錄。$1表示當(dāng)前行的第一個(gè)域,$2表示當(dāng)前行的第二個(gè)域,......以此類推。$NF是number finally,表示最后一列的信息,跟變量NF是有區(qū)別的,變量NF統(tǒng)計(jì)的是每行列的總數(shù)
awk擅長(zhǎng)列輸出
搜索/etc/passwd有root關(guān)鍵字的所有行
awk '/root/' /etc/passwd
【這種是pattern的使用,匹配了pattern(這里是root)的行才會(huì)執(zhí)行action(沒有指定action,默認(rèn)輸出每行的內(nèi)容)】 搜索/etc/passwd有root關(guān)鍵字的所有行,并顯示對(duì)應(yīng)的shell
awk -F: '/root/ {print $7}' /etc/passwd
統(tǒng)計(jì)/etc/passwd:文件名,每行的行號(hào),每行的列數(shù),對(duì)應(yīng)的完整行內(nèi)容:
awk -F ':' '{print "filename:" FILENAME ",linenumber:" NR ",columns:" NF ",linecontent:"$0}' /etc/passwd
使用printf替代print,可以讓代碼更加簡(jiǎn)潔,易讀
awk -F: '{printf ("filename:%10s, linenumber:%3s,column:%3s,content:%3f\n",FILENAME,NR,NF,$0)}' /etc/passwd
打印/etc/passwd/的第二行信息
awk -F: 'NR==2{print "filename: "FILENAME, $0}' /etc/passwd
awk的過濾使用方法
ls -lF | awk '/^d/'
指定特定的分隔符,查詢第一列
awk -F ":" '{print $1}' /etc/passwd
以上是“Linux中如何使用awk工具”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。