校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Linux使用awk文本處理工具實現多行合并的實例

Linux使用awk文本處理工具實現多行合并的實例

熱門標簽:怎樣給景區加百度地圖標注 商戶地圖標注 新鄭電銷外呼系統線路 河北語音電銷機器人 樺甸電銷機器人 壽光百度地圖標注中心網站 電話機器人哪里有賣的 河南智能電話機器人公司 地球地圖標注方法

  在Linux系統中使用awk文本處理工具,有時需要將多行合并,這就需要用到awknext語句了,下面小編就給大家介紹下Linux中使用awk實現多行合并的方法,需要的朋友可以來了解下。

  awknext語句使用:在循環逐行匹配,如果遇到next,就會跳過當前行,直接忽略下面語句。而進行下一行匹配。

  代碼如下:

  text.txt 內容是:

  a

  b

  c

  d

  e

  [chengmo@centos5 shell]$ awk ‘NR%2==1{next}{print NR,$0;}’ text.txt

  2 b

  4 d

  當記錄行號除以2余 1,就跳過當前行。下面的print NR,$0也不會執行。 下一行開始,程序有開始判斷NR%2 值。這個時候記錄行號是:2 ,就會執行下面語句塊:‘print NR,$0’

  awk next使用實例:

  代碼如下:

  要求:

  文件:text.txt 格式:

  web01[192.168.2.100]

  httpd ok

  tomcat ok

  sendmail ok

  web02[192.168.2.101]

  httpd ok

  postfix ok

  web03[192.168.2.102]

  mysqld ok

  httpd ok

  需要通過awk將輸出格式變成:

  web01[192.168.2.100]: httpd ok

  web01[192.168.2.100]: tomcat ok

  web01[192.168.2.100]: sendmail ok

  web02[192.168.2.101]: httpd ok

  web02[192.168.2.101]: postfix ok

  web03[192.168.2.102]: mysqld ok

  web03[192.168.2.102]: httpd ok

  分析:

  分析發現需要將包含有“web”行進行跳過,然后需要將內容與下面行合并為一行。

  [chengmo@centos5 shell]$ awk ‘/^web/{T=$0;next;}{print T“:\t”$0;}’ test.txt

  web01[192.168.2.100]: httpd ok

  web01[192.168.2.100]: tomcat ok

  web01[192.168.2.100]: sendmail ok

  web02[192.168.2.101]: httpd ok

  web02[192.168.2.101]: postfix ok

  web03[192.168.2.102]: mysqld ok

  web03[192.168.2.102]: httpd ok

  上面就是Linux使用awk進行多行合并的方法介紹了,在文中使用next語句是十分方便的,在循環匹配中,如果遇到next,就會自動跳過,從而實現多行合并。

標簽:湖北 咸陽 廣州 六安 懷化 喀什 遵義 阿壩

巨人網絡通訊聲明:本文標題《Linux使用awk文本處理工具實現多行合并的實例》,本文關鍵詞  Linux,使用,awk,文本,處理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux使用awk文本處理工具實現多行合并的實例》相關的同類信息!
  • 本頁收集關于Linux使用awk文本處理工具實現多行合并的實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 东乌珠穆沁旗| 琼海市| 井陉县| 岳池县| 濮阳市| 松阳县| 博野县| 宜都市| 湘西| 台中市| 临湘市| 始兴县| 寿光市| 雷州市| 温州市| 建阳市| 新蔡县| 高碑店市| 永修县| 南投县| 金塔县| 乡宁县| 青州市| 福建省| 灵宝市| 盘锦市| 双鸭山市| 沙坪坝区| 平阴县| 翼城县| 安阳县| 安西县| 固安县| 南投市| 敖汉旗| 瑞昌市| 大安市| 铁岭县| 寿阳县| 黄大仙区| 勐海县|