国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

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

2020-06-13 12:02:34
字體:
來源:轉載
供稿:網友

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

 

復制代碼
代碼如下:

text.txt 內容是:
a
b
c
d
e

[chengmo@centos5 shell]$ awk 'NR%2==1{next}{print NR,$0;}' text.txt
2 b
4 d
當記錄行號除以2余 1,就跳過當前行。下面的print NR,$0也不會執行。 下一行開始,程序有開始判斷NR%2 值。這個時候記錄行號是:2 ,就會執行下面語句塊:'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

分析:
分析發現需要將包含有“web”行進行跳過,然后需要將內容與下面行合并為一行。
[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在多行合并,以及選擇性輸出方面,非常方便。大家在使用時候不妨試試。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 行唐县| 沛县| 罗甸县| 陵川县| 白银市| 双牌县| 莱西市| 洱源县| 清流县| 翁源县| 汉阴县| 湖北省| 团风县| 余干县| 咸阳市| 桂平市| 金塔县| 汨罗市| 明光市| 宝丰县| 天镇县| 盐津县| 出国| 车险| 达拉特旗| 丰镇市| 师宗县| 江孜县| 陈巴尔虎旗| 烟台市| 循化| 肇州县| 三都| 景宁| 呼和浩特市| 进贤县| 互助| 桦川县| 兰州市| 土默特左旗| 石屏县|