學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux使用awk怎么實(shí)現(xiàn)多行合并

Linux使用awk怎么實(shí)現(xiàn)多行合并

時(shí)間: 孫勝652 分享

Linux使用awk怎么實(shí)現(xiàn)多行合并

  在Linux系統(tǒng)中使用awk文本處理工具,有時(shí)需要將多行合并,這就需要用到awknext語(yǔ)句了,下面學(xué)習(xí)啦小編就給大家介紹下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,

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux使用awk怎么實(shí)現(xiàn)多行合并

Linux使用awk怎么實(shí)現(xiàn)多行合并

時(shí)間: 孫勝652 分享

Linux使用awk怎么實(shí)現(xiàn)多行合并

  在Linux系統(tǒng)中使用awk文本處理工具,有時(shí)需要將多行合并,這就需要用到awknext語(yǔ)句了,下面學(xué)習(xí)啦小編就給大家介紹下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,

;}’ text.txt

  2 b

  4 d

  當(dāng)記錄行號(hào)除以2余 1,就跳過(guò)當(dāng)前行。下面的print NR,

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux使用awk怎么實(shí)現(xiàn)多行合并

Linux使用awk怎么實(shí)現(xiàn)多行合并

時(shí)間: 孫勝652 分享

Linux使用awk怎么實(shí)現(xiàn)多行合并

  在Linux系統(tǒng)中使用awk文本處理工具,有時(shí)需要將多行合并,這就需要用到awknext語(yǔ)句了,下面學(xué)習(xí)啦小編就給大家介紹下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,

也不會(huì)執(zhí)行。 下一行開始,程序有開始判斷NR%2 值。這個(gè)時(shí)候記錄行號(hào)是:2 ,就會(huì)執(zhí)行下面語(yǔ)句塊:‘print NR,
學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux使用awk怎么實(shí)現(xiàn)多行合并

Linux使用awk怎么實(shí)現(xiàn)多行合并

時(shí)間: 孫勝652 分享

Linux使用awk怎么實(shí)現(xiàn)多行合并

  在Linux系統(tǒng)中使用awk文本處理工具,有時(shí)需要將多行合并,這就需要用到awknext語(yǔ)句了,下面學(xué)習(xí)啦小編就給大家介紹下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,

  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=

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux使用awk怎么實(shí)現(xiàn)多行合并

Linux使用awk怎么實(shí)現(xiàn)多行合并

時(shí)間: 孫勝652 分享

Linux使用awk怎么實(shí)現(xiàn)多行合并

  在Linux系統(tǒng)中使用awk文本處理工具,有時(shí)需要將多行合并,這就需要用到awknext語(yǔ)句了,下面學(xué)習(xí)啦小編就給大家介紹下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,

;next;}{print T“:\t”
學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux使用awk怎么實(shí)現(xiàn)多行合并

Linux使用awk怎么實(shí)現(xiàn)多行合并

時(shí)間: 孫勝652 分享

Linux使用awk怎么實(shí)現(xiàn)多行合并

  在Linux系統(tǒng)中使用awk文本處理工具,有時(shí)需要將多行合并,這就需要用到awknext語(yǔ)句了,下面學(xué)習(xí)啦小編就給大家介紹下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,

;}’ 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)多行合并。

319154