【案例】Linux三劍客中awk命令如何使用?
說起Linux系統,相比大家一定聽過Linux三劍客,它們是grep、sed、awk命令, awk是一個強大的文字分析工具,簡單來說awk就是把檔案逐行讀入,今天主要跟大家詳細說明下awk,以下是詳細的內容:
awk是一個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在對資料分析並生成報告時,顯得尤為強大。
簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。
awk有三個不同的版本:awk、nawk和gawk,未作特別說明,一般指gawk,gawk是awk的GNU版本。
之所以叫awk是因為其取了三位創始人Alfred Aho,Peter Weinberger,和Brian Kernighan的Family Name的首字元。
awk格式:
格式: sed -n '3p' sed.txt
找誰幹啥(條件動作)
awk格式
#取出/etc/passwd 第1行的第1列和第3列
awk -F: 'NR==1{print $1.$3}' /etc/passwd
awk 選項 '條件{動作}' /etc/passwd
條件: 哪一行,過濾什麼內容
動作: print輸出與顯示 ,計算....
awk取行:與sed類似
案例01:取出sed.txt的第2行
[root@oldboy81-golden-lnb /oldboy]# cat sed.txt
101.oldgirl,CEO
102.zhangya,CTO
103.lidao007.COO
104.yy,CFO
105.feixue,CIO
110.lidao,COCO
[root@oldboy81-golden-lnb /oldboy]# awk 'NR==2' sed.txt
102.zhangya,CTO
#awk '行號 等於 2' sed.txt
#NR awk內建變數
Number of Record 記錄號(行號)
案例02:取出sed.txt中包含oldboy或lidao的行
[root@oldboy81-golden-lnb /oldboy]# sed -rn '/oldboy|lidao/p' sed.txt
103.lidao007.COO
110.lidao,COCO
[root@oldboy81-golden-lnb /oldboy]# awk '/oldboy|lidao/' sed.txt
103.lidao007.COO
110.lidao,COCO
案例03:取出檔案第2行到第5行內容
#awk '行號大於等於2 並且 行號小於等於5' sed.txt
#方法01
awk 'NR>=2 && NR<=5' sed.txt #必會
&& 表示並且.
#方法02
sed -n '2.5p' sed.txt
#方法03 瞭解
awk 'NR==2.NR==5' sed.txt #從行號是2的行開始 到 行號是5的行結束( 瞭解)
案例04:取出檔案第3行到最後一行內容
[root@oldboy81-golden-lnb /oldboy]# awk 'NR >= 3' sed.txt
103.lidao007.COO
104.yy,CFO
105.feixue,CIO
110.lidao,COCO
[root@oldboy81-golden-lnb /oldboy]# sed -n '3.$p' sed.txt
103.lidao007.COO
104.yy,CFO
105.feixue,CIO
110.lidao,COCO
案例05:取出從包含oldboy的行到lidao的行
[root@oldboy81-golden-lnb /oldboy]# cat sed.txt
101.oldgirl,CEO
102.zhangya,CTO
103.lidao007.COO
104.yy,CFO
105.feixue,CIO
110.lidao,COCO
root@oldboy81-golden-lnb /oldboy]# sed -n '/old/,/lidao/p' sed.txt
101.oldgirl,CEO
102.zhangya,CTO
103.lidao007.COO
[root@oldboy81-golden-lnb /oldboy]# awk '/old/ , /lidao/' sed.txt
101.oldgirl,CEO
102.zhangya,CTO
103.lidao007.COO
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2925523/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 007 Linux 命令三劍客之-awkLinux
- Linux (三劍客之三) awk命令詳解Linux
- Linux 三劍客 Awk、Sed、Grep 命令詳解Linux
- Linux三劍客Awk、Sed、Grep 命令詳解Linux
- linux三劍客(grep、sed、awk)基本使用Linux
- 三劍客——AWK
- Linux三劍客之awk詳解Linux
- Linux三劍客grep、awk和sedLinux
- Linux:管道命令與文字處理三劍客(grep、sed、awk)Linux
- Linux三劍客之awk入門指引Linux
- Linux常用基本命令:三劍客命令之-awk格式化動作Linux
- Linux檔案處理三劍客之awkLinux
- "三劍客"之awk心中無劍
- Linux 三劍客之 awk 實戰詳解教程Linux
- 效能工具之linux三劍客awk、grep、sed詳解Linux
- 006 Linux 命令三劍客之-grepLinux
- Linux awk使用案例教程Linux
- 使用linux三劍客取ip地址Linux
- Linux awk命令中如何刪除陣列Linux陣列
- Linux文字三劍客Linux
- 一篇文章帶你學會Linux三劍客之一:awkLinux
- Linux 三劍客之 grep 使用詳解Linux
- Linux中awk命令詳解Linux
- Linux三劍客之sedLinux
- Linux 三劍客之sedLinux
- Linux (三劍客之一) grep字串搜尋命令詳解Linux字串
- linux系統awk命令使用詳解Linux
- linux的awk命令Linux
- Linux文字三劍客總結Linux
- Linux三劍客之grep詳解Linux
- Linux:“awk”命令的妙用Linux
- Linux awk 命令詳解Linux
- Linux系統中的管道命令、grep命令、sed命令和awk命令Linux
- Linux中Type命令如何使用Linux
- Linux 中如何使用 id 命令Linux
- Linux中如何使用alias命令Linux
- 技能篇:awk教程-linux命令Linux
- Linux 中 awk命令如何擷取指定欄位的前幾個字元Linux字元