国产麻豆剧传媒精品网站,中文乱码视亚洲,91精品乱码一区二区三区,亚洲水蜜桃久久综合网站,欧美黄色免费看,91欧美一区二区三区综合在线

二維碼
企資網

掃一掃關注

當前位置: 首頁 » 企資快報 » 企業 » 正文

如何使用awk處理文本內容

放大字體  縮小字體 發布日期:2021-08-21 16:57:05    作者:啊丟    瀏覽次數:86
導讀

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

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

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

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

出現大于號時將一下內容復制到終端,將文本內容保存到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函數找到開頭是制表符和空格的行,并替換空格和制表符為空。注意:sub()函數替換只發生在第一次匹配的時候,也就是一行中有多個空格或多個制表符,只替換左面的第一個。

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

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

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

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

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

倒序列出文件中的所有行

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

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

添加行號為每行內容

使用以下命令使用NF內置變量對非空行進行編號:

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

打印包含特定字符串的行數

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

[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()函數:

[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一起使用,只顯示設備名稱和可用空間、使用率。

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

查看每個IP打開的連接數

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

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

總結

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

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

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

粵ICP備16078936號

微信

關注
微信

微信二維碼

WAP二維碼

客服

聯系
客服

聯系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

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

反饋

用戶
反饋

主站蜘蛛池模板: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |