主頁(yè) > 知識(shí)庫(kù) > Linux使用awk文本處理工具實(shí)現(xiàn)多行合并的實(shí)例

Linux使用awk文本處理工具實(shí)現(xiàn)多行合并的實(shí)例

熱門(mén)標(biāo)簽:怎樣給景區(qū)加百度地圖標(biāo)注 商戶地圖標(biāo)注 新鄭電銷外呼系統(tǒng)線路 河北語(yǔ)音電銷機(jī)器人 樺甸電銷機(jī)器人 壽光百度地圖標(biāo)注中心網(wǎng)站 電話機(jī)器人哪里有賣的 河南智能電話機(jī)器人公司 地球地圖標(biāo)注方法

  在Linux系統(tǒng)中使用awk文本處理工具,有時(shí)需要將多行合并,這就需要用到awknext語(yǔ)句了,下面小編就給大家介紹下Linux中使用awk實(shí)現(xiàn)多行合并的方法,需要的朋友可以來(lái)了解下。

  awknext語(yǔ)句使用:在循環(huán)逐行匹配,如果遇到next,就會(huì)跳過(guò)當(dāng)前行,直接忽略下面語(yǔ)句。而進(jìn)行下一行匹配。

  代碼如下:

  text.txt 內(nèi)容是:

  a

  b

  c

  d

  e

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

  2 b

  4 d

  當(dāng)記錄行號(hào)除以2余 1,就跳過(guò)當(dāng)前行。下面的print NR,$0也不會(huì)執(zhí)行。 下一行開(kāi)始,程序有開(kāi)始判斷NR%2 值。這個(gè)時(shí)候記錄行號(hào)是:2 ,就會(huì)執(zhí)行下面語(yǔ)句塊:‘print NR,$0’

  awk next使用實(shí)例:

  代碼如下:

  要求:

  文件: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

  需要通過(guò)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

  分析:

  分析發(fā)現(xiàn)需要將包含有“web”行進(jìn)行跳過(guò),然后需要將內(nèi)容與下面行合并為一行。

  [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進(jìn)行多行合并的方法介紹了,在文中使用next語(yǔ)句是十分方便的,在循環(huán)匹配中,如果遇到next,就會(huì)自動(dòng)跳過(guò),從而實(shí)現(xiàn)多行合并。

標(biāo)簽:湖北 咸陽(yáng) 廣州 六安 懷化 喀什 遵義 阿壩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux使用awk文本處理工具實(shí)現(xiàn)多行合并的實(shí)例》,本文關(guān)鍵詞  Linux,使用,awk,文本,處理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux使用awk文本處理工具實(shí)現(xiàn)多行合并的實(shí)例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Linux使用awk文本處理工具實(shí)現(xiàn)多行合并的實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章