400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > linux > 【Linux基礎(chǔ)知識(shí)】awk命令使用

【Linux基礎(chǔ)知識(shí)】awk命令使用

  • 來(lái)源:Linux培訓(xùn)問(wèn)答
  • 2020-10-30 11:46:18
  • 閱讀()
  • 分享
  • 手機(jī)端入口

awk命令是Alfred Aho, Peter Weinberger, Brian Kernighan三位作者聯(lián)合開(kāi)發(fā)的,用于Linux/Unix中處理數(shù)據(jù)和產(chǎn)生報(bào)告。awk命令功能十分強(qiáng)大,可根據(jù)需要抓取、截取指定的列或行。

首先在/mnt目錄下創(chuàng)建示例文本文件f1,其內(nèi)容如下:

1 hello hello

2 data data

3 xyz abc

4 123 789

5 ftp

6 Apache

7 apache

【Linux基礎(chǔ)知識(shí)】awk命令使用

然后,使用awk對(duì)f1文件內(nèi)容進(jìn)行處理,舉例如下。

①awk -F " " '{print $2,$3}' f1:截取顯示文檔的第二列和第三列,-F指定分隔符為空格,$表示顯示第幾列。其中print表示要做輸出信息的動(dòng)作,$2和$3表示要輸出的列號(hào),awk要求將print已經(jīng)輸出列等內(nèi)容放在“'{}'”之間。

②awk -F " " '($1>3){print $2,$3}' f1:選取第一列的值大于3的行,顯示其第二列和第三列,在“()”中指定篩選條件。

③awk 'NR==4 || NR==3' f1:顯示第三行和第四行,NR表示行號(hào)。

④awk '/data/ {print $2}' f1:抓取包含指定字符的行,再對(duì)列進(jìn)行截取。此例中,awk先按照“data”字符串對(duì)文件f1中的行篩選,找出包含“data”的行以后,再按照默認(rèn)的空格作為分隔符對(duì)行的內(nèi)容做切割,僅打印出第二列的內(nèi)容。

⑤awk '$2 ~ /data/ ' f1:抓取第二列包含指定字符的行。其中“~”表示是否匹配指定的“data”,如果第二列的內(nèi)容包含“data”就打印出整行內(nèi)容。

⑥awk '$2 !~ /data/ ' f1:抓取第二列不包含指定字符的行。其中“!~”表示是否不匹配指定的“data”,如果第二列的內(nèi)容不包含“data”就打印出整行內(nèi)容。

文章“【Linux基礎(chǔ)知識(shí)】awk命令使用”已幫助

更多內(nèi)容

>>本文地址:http://m.hqfphsz.com/zhuanye/2020/59308.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷互聯(lián)網(wǎng)營(yíng)銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME