主頁(yè) > 知識(shí)庫(kù) > awk 多行合并(next 使用介紹) (常見應(yīng)用4)

awk 多行合并(next 使用介紹) (常見應(yīng)用4)

熱門標(biāo)簽:制作地圖標(biāo)注 磁力導(dǎo)航地圖標(biāo)注 商店地圖標(biāo)注外賣入駐 外呼系統(tǒng)怎么弄 桂林市ai電銷機(jī)器人公司 新科火車站地圖標(biāo)注點(diǎn) 地址高德地圖標(biāo)注 地圖標(biāo)注的牌子 外呼系統(tǒng)鏈接

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


復(fù)制代碼
代碼如下:

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,就跳過當(dāng)前行。下面的print NR,$0也不會(huì)執(zhí)行。 下一行開始,程序有開始判斷NR%2 值。這個(gè)時(shí)候記錄行號(hào)是:2 ,就會(huì)執(zhí)行下面語(yǔ)句塊:'print NR,$0'

awk next使用實(shí)例:


復(fù)制代碼
代碼如下:

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

next在多行合并,以及選擇性輸出方面,非常方便。大家在使用時(shí)候不妨試試。

標(biāo)簽:茂名 湘西 衡陽(yáng) 三門峽 仙桃 六盤水 衡陽(yáng) 慶陽(yáng)

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