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

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

  發(fā)布時間:2013-11-19 22:18:15   作者:佚名   我要評論
在awk進行文本處理時候,我們可能會遇到。將多行合并到一行顯示問題。 有點象sql里面,經(jīng)常遇到的行轉(zhuǎn)列的問題。 這里需要用到next語句

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


復(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)記錄行號除以2余 1,就跳過當(dāng)前行。下面的print NR,$0也不會執(zhí)行。 下一行開始,程序有開始判斷NR%2 值。這個時候記錄行號是:2 ,就會執(zhí)行下面語句塊:'print NR,$0'

awk next使用實例:


復(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”行進行跳過,然后需要將內(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在多行合并,以及選擇性輸出方面,非常方便。大家在使用時候不妨試試。

相關(guān)文章

最新評論

上虞市| 通化县| 侯马市| 龙陵县| 洛川县| 阿拉善左旗| 兴安盟| 岳西县| 临夏市| 武宣县| 香格里拉县| 宣汉县| 大方县| 高碑店市| 克拉玛依市| 云和县| 墨江| 澄江县| 凤凰县| 华安县| 光泽县| 乌苏市| 弋阳县| 济源市| 泰来县| 大方县| 高雄县| 文登市| 玛曲县| 威海市| 平邑县| 邹城市| 易门县| 壶关县| 曲水县| 酒泉市| 翁牛特旗| 利辛县| 德江县| 雷州市| 东兰县|