最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

  發(fā)布時間:2015-01-20 15:38:57   作者:佚名   我要評論
在Linux系統(tǒng)中使用awk文本處理工具,有時需要將多行合并,這就需要用到awknext語句了,下面有個不錯的示例,需要的朋友可以看看

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

  awknext語句使用:在循環(huán)逐行匹配,如果遇到next,就會跳過當(dāng)前行,直接忽略下面語句。而進(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)記錄行號除以2余 1,就跳過當(dāng)前行。下面的print NR,$0也不會執(zhí)行。 下一行開始,程序有開始判斷NR%2 值。這個時候記錄行號是:2 ,就會執(zhí)行下面語句塊:‘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

  需要通過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)行跳過,然后需要將內(nèi)容與下面行合并為一行。

 ?。踓hengmo@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語句是十分方便的,在循環(huán)匹配中,如果遇到next,就會自動跳過,從而實(shí)現(xiàn)多行合并。

相關(guān)文章

最新評論

讷河市| 大邑县| 武乡县| 东兴市| 托克逊县| 景洪市| 监利县| 兴和县| 宣城市| 通城县| 彭州市| 惠安县| 濉溪县| 吉安县| 涞源县| 定陶县| 武汉市| 平罗县| 砚山县| 太原市| 内丘县| 曲靖市| 普安县| 前郭尔| 南汇区| 封开县| 洛扎县| 南丰县| 承德市| 南溪县| 黄浦区| 许昌市| 航空| 宁夏| 通州市| 满城县| 呼伦贝尔市| 洪雅县| 武城县| 綦江县| 福州市|