共計 1098 個字符,預計需要花費 3 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章主要為大家展示了“linux 中的 awk 怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“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 怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!
向 AI 問一下細節
丸趣 TV 網 – 提供最優質的資源集合!
正文完