国产精品亚洲一区-欧美日韩国产在线-伊人成人在线-国产精品无码久久久久-亚洲国产成人91精品-欧美成人精品欧美一级乱黄

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 企資快報 » 企業(yè) » 正文

如何使用awk處理文本內(nèi)容

放大字體  縮小字體 發(fā)布日期:2021-08-21 16:57:05    作者:啊丟    瀏覽次數(shù):83
導(dǎo)讀

Awk是為高級文本處理而設(shè)計的非常強大的工具。她逐行搜索掃描文件,將輸入的每行分割成字段,將輸入行或字段與模式進(jìn)行比較,并對匹配的結(jié)果執(zhí)行操作。本節(jié)將使用sub和gsub函數(shù)和awk命令來刪除文件中的制表符和空格

Awk是為高級文本處理而設(shè)計的非常強大的工具。她逐行搜索掃描文件,將輸入的每行分割成字段,將輸入行或字段與模式進(jìn)行比較,并對匹配的結(jié)果執(zhí)行操作。

本節(jié)將使用sub和gsub函數(shù)和awk命令來刪除文件中的制表符和空格。我們將使用以下文本文件作為本文中所有示例的輸入文件:

[root@localhost ~]# cat << EOF >> content.txt

出現(xiàn)大于號時將一下內(nèi)容復(fù)制到終端,將文本內(nèi)容保存到content.txt文件中。

        hitesh engineer sales 30000jayesh director account 25000vyom manager purchase 20000bhavesh engineer sales 30000 rajesh directory sales 40000niraj clerk account 20000jay peon purchase 23000deep clerk sales 20000EOF

刪除文件中的所有空白行

可以使用awk的特殊變量NF,從文件中刪除所有空白行。例如,刪除文件content.txt中的所有空白行。

[root@localhost ~]# awk NF content.txt 

刪除每行開頭或者末尾的空格和制表符

使用awk命令在文件開頭找到一個或多個空格或制表符并刪除。可以使用以下命令:

[root@localhost ~]# awk '{ sub(/^[ \t]+/, ""); print }' content.txt


命令行中的意思是:使用sub函數(shù)找到開頭是制表符和空格的行,并替換空格和制表符為空。注意:sub()函數(shù)替換只發(fā)生在第一次匹配的時候,也就是一行中有多個空格或多個制表符,只替換左面的第一個。

刪除末尾的空格和制表符可以使用下面的命令:

[root@localhost ~]# awk '{ sub(/[ \t]+$/, ""); print }' content.txt

同時查詢開頭和末尾的空格和制表符,可以使用下面命令:

[root@localhost ~]# awk '{ gsub(/^[ \t]+|[ \t]+$/, ""); print }' content.txt

gsub函數(shù)表示滿足條件,替換所有的匹配字符。

倒序列出文件中的所有行

她記錄數(shù)組中的所有行,并將她們以相反的順序排列。使用以下命令:

[root@localhost ~]# awk '{ b[i++] = $0 } END { for (j=i-1; j>=0;) print b[j--] }' content.txt

添加行號為每行內(nèi)容

使用以下命令使用NF內(nèi)置變量對非空行進(jìn)行編號:

[root@localhost ~]# awk 'NF { $0=++a ": " $0 }; { print }' content.txt 

打印包含特定字符串的行數(shù)

使用以下命令來打印包含engineer的總行數(shù):

[root@localhost ~]# awk '/engineer/{n++}; END {print n+0}'  content.txt

打印與指定字符串匹配的行

下面實例中,篩選出含有 engineer字符串的行:

[root@localhost ~]# awk '/engineer/' content.txt 

打印與指定字符串不匹配的行

下面實例中,打印不包含字符串 jayesh 的行:

[root@localhost ~]# awk '!/jayesh/' content.txt 

替換字符串

實例一:將content.txt中的字符串“ engineer”替換為“ doctor”,用到gsub()函數(shù):

[root@localhost ~]# awk '{gsub(/engineer/,"doctor")}{print}' content.txt 


實例二:查找字符串“ jayesh”,“ hitesh”或“ bhavesh”,并將其替換為字符串“ mahesh”,運行以下命令:

[root@localhost ~]# awk '{gsub(/jayesh|hitesh|bhavesh/ , "mahesh"); print}' content.txt 

配合df命令,顯示磁盤空間

可以將awk命令與df一起使用,只顯示設(shè)備名稱和可用空間、使用率。

[root@localhost ~]# df -h | awk '{printf("%-24s \t %-6s \t %-4s \n",$1,$4,$5)}'

查看每個IP打開的連接數(shù)

如果認(rèn)為服務(wù)器受到攻擊,那么這種awk單行代碼非常有用。她將顯示服務(wù)器的打開連接列表,并按數(shù)量對她們進(jìn)行排序。

[root@localhost ~]# netstat -ntu|awk '{print $5}'|cut -d: -f1|awk '/[0-9]/'|sort|uniq -c|sort -n

總結(jié)

我們通過實際示例了解如何使用一行awk命令執(zhí)行日常任務(wù)。

 
(文/啊丟)
免責(zé)聲明
本文僅代表作發(fā)布者:啊丟個人觀點,本站未對其內(nèi)容進(jìn)行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
 

Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

粵ICP備16078936號

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

周一至周五: 09:00 - 18:00

反饋

用戶
反饋

主站蜘蛛池模板: 国产毛片a | 久久久综合结合狠狠狠97色 | 久久久久久久久久免观看 | 国产欧美日韩在线观看 | 高清午夜看片a福利在线观看琪琪 | 欧美在线一区二区三区欧美 | 草久在线观看 | 欧洲精品一区二区三区在线观看 | 成人国产精品免费软件 | 欧美极品video粗暴 | 日本久操 | 成人a毛片一级 | 欧美特黄特色aaa大片免费看 | 亚洲产国偷v产偷v自拍涩爱 | 久久成| 欧美国产在线一区 | 国产呦系列 | 中国一级特黄真人毛片 | 美女很黄很黄免费的 | 中文字幕综合在线 | 成年男女男精品免费视频网站 | 国产99视频在线观看 | 国产精品香蕉一区二区三区 | 五月激情丁香婷婷综合第九 | 日本高清视频免费在线观看 | 久久中文字幕久久久久91 | 免费一级毛片在播放视频 | 欧美视频网站在线观看 | 国产一级强片在线观看 | 国产亚洲精品一区二区久久 | 欧美国产合集在线视频 | 亚洲精品一区二区三区第四页 | 国产成人高清精品免费5388密 | 免费看a | 精品欧美一区二区精品久久 | 色拍拍在精品视频69影院在线 | 国产日韩一区二区三区 | 久久久久国产成人精品 | 美女视频黄a视频免费全过程 | 成年女人毛片免费观看97 | 九九精品在线观看 |