佳木斯湛栽影视文化发展公司

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

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

熱門標(biāo)簽:電話機器人搭建 百度競價點擊價格的計算公式 外呼系統(tǒng) 硅谷的囚徒呼叫中心 解決方案 美團 家政服務(wù)網(wǎng)絡(luò) 服務(wù)器配置

  在Linux系統(tǒng)中使用awk文本處理工具,有時需要將多行合并,這就需要用到awknext語句了,下面小編就給大家介紹下Linux中使用awk實現(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使用實例:

  代碼如下:

  要求:

  文件: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)容與下面行合并為一行。

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

標(biāo)簽:臨沂 南昌 邢臺 韶關(guān) 撫州 防城港 北海 烏蘭察布

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux使用awk文本處理工具實現(xiàn)多行合并的實例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    砀山县| 镇安县| 云梦县| 迁西县| 达日县| 自贡市| 咸阳市| 周口市| 岐山县| 大石桥市| 老河口市| 鄢陵县| 镶黄旗| 安仁县| 交口县| 维西| 沾益县| 理塘县| 新和县| 永城市| 抚顺市| 文山县| 富锦市| 天等县| 玛沁县| 永登县| 汉源县| 长沙县| 麦盖提县| 莱州市| 泰顺县| 信丰县| 广安市| 凉城县| 大兴区| 天全县| 吕梁市| 内乡县| 南和县| 昌都县| 枣庄市|