linux awk使用方法
awk是一個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說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關鍵字的所有行,並顯示對應的
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
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2691137/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 詳解 awk 工具的使用方法
- Linux awkLinux
- Linux-(awk)Linux
- linux之 awkLinux
- linux之awkLinux
- linux的awk命令Linux
- linux awk 運算子Linux
- linux之awk用法Linux
- Linux awk小記Linux
- [linux]sed與awkLinux
- linux awk sed grep awk 求和平均最大最小Linux
- Linux awk 命令詳解Linux
- Linux awk使用案例教程Linux
- Linux:“awk”命令的妙用Linux
- 【Linux篇】--awk的使用Linux
- linux awk 命令詳解Linux
- linux awk命令詳解Linux
- Linux awk 命令 說明Linux
- 技能篇:awk教程-linux命令Linux
- Linux中awk命令詳解Linux
- Linux awk基礎筆記Linux筆記
- [轉]linux awk命令詳解Linux
- linux之shell awk 之一Linux
- linux之shell awk 之二Linux
- Linux三大劍客之awkLinux
- linux awk 一看就懂Linux
- 如何在Linux中使用awk命令Linux
- linux awk 陣列和迴圈Linux陣列
- linux awk命令詳解 --轉載Linux
- Linux——指令使用方法!Linux
- Linux三劍客之awk詳解Linux
- linux系統awk命令使用詳解Linux
- Linux三劍客grep、awk和sedLinux
- Linux 文字處理工具(grep sed awk )Linux
- Linux netstat +awk 看攻擊IPLinux
- linux: awk 指定位置替換字元Linux字元
- Linux中最常用的一套“AWK“Linux
- linux三劍客(grep、sed、awk)基本使用Linux