您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“linux中的awk怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“linux中的awk怎么用”這篇文章吧。
awk內置變量
ARGC 命令行參數個數 ARGV 命令行參數排列 ENVIRON 支持隊列中系統環境變量的使用 FILENAME awk瀏覽的文件名 FNR 瀏覽文件的記錄數 FS 設置輸入域分隔符,等價于命令行 -F選項 NF 瀏覽記錄的域的個數 NR 已讀的記錄數 OFS 輸出域分隔符 ORS 輸出記錄分隔符 RS 控制記錄分隔符 $0變量是指整條記錄。$1表示當前行的第一個域,$2表示當前行的第二個域,......以此類推。 $NF是number finally,表示最后一列的信息,跟變量NF是有區別的,變量NF統計的是每行列的總數
常用的命令展示
awk擅長列輸出
搜索/etc/passwd有root關鍵字的所有行
awk '/root/' /etc/passwd
【這種是pattern的使用,匹配了pattern(這里是root)的行才會執行action(沒有指定action,默認輸出每行的內容)】
搜索/etc/passwd有root關鍵字的所有行,并顯示對應的
shell
awk -F: '/root/ {print $7}' /etc/passwd
統計/etc/passwd:文件名,每行的行號,每行的列數,對應的完整行內容:
awk -F ':' '{print "filename:" FILENAME ",linenumber:" NR ",columns:" NF ",linecontent:"$0}' /etc/passwd
使用printf替代print,可以讓代碼更加簡潔,易讀
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怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。