重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
作為shell編程三劍客之一的sed,重要程度不言而喻。sed是一個(gè)流編程器,每次處理一行,處理完后再接著處理下一行,它支持正則,功能非常的強(qiáng)大。但sed比一般的命令復(fù)雜一些,選項(xiàng)繁多,想要掌握它是需要花點(diǎn)功夫的。下面我們通過(guò)眾多的例子來(lái)看看這個(gè)強(qiáng)大的sed命令的作用吧!
語(yǔ)法格式:sed [選項(xiàng)] [動(dòng)作]
常用選項(xiàng)如下:
-n:sed默認(rèn)會(huì)輸出所有stdin內(nèi)容,但加上該選項(xiàng)后,只顯示經(jīng)過(guò)sed處理過(guò)的行。
-e :允許在同一行里執(zhí)行多個(gè)動(dòng)作
-f:從一個(gè)文件中讀取動(dòng)作
-i:直接修改文件而不是輸入到屏幕上(危險(xiǎn))
動(dòng)作中的參數(shù)及太多了,下面列一下:
a:在匹配行下面加入一行
c:將匹配的行修改新的內(nèi)容
d:刪除匹配的行
i:在匹配行前加入內(nèi)容
p:打印
s:替換匹配行的內(nèi)容
范例一:打印/etc/passwd文件的第5-10行
# sed -n '5,10p' /etc/passwd lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin
范例二:刪除/etc/passwd文件的第2行,第2到10行
# cat -n /etc/passwd | sed '2d' | sed '5,10d'
除了上面的方法,我們還可以用-e選項(xiàng)來(lái)完成
# cat -n /etc/passwd | sed -e '2d' -e '5,10d'
范例三:獲取服務(wù)器ip地址
這個(gè)案例非常的棒,建議大家仔細(xì)看看
# ifconfig eth0 eth0: flags=4163mtu 1500 inet 172.26.9.143 netmask 255.255.240.0 broadcast 172.26.15.255 ether 00:16:3e:0a:01:ad txqueuelen 1000 (Ethernet) ……
我們需要的是172.26.9.143。
第一步,獲取我們想要處理的行
# ifconfig eth0 | sed -n '/.*inet/p' inet 172.26.9.143 netmask 255.255.240.0 broadcast 172.26.15.255
第二步,將不需要的信息給替換位空白字符
# ifconfig eth0 | sed -n '/.*inet/p' | sed 's/.*inet\\s\\+//g' 172.26.9.143 netmask 255.255.240.0 broadcast 172.26.15.255
接下來(lái)把ip地址后面的全部替換位空就行了
# ifconfig eth0 | sed -n '/.*inet/p' | sed 's/.*inet\\s\\+//g' | sed 's/\\s\\+.*//g' 172.26.9.143
下面我們來(lái)說(shuō)說(shuō)上面的例子,首先第一步我們使用了-n和p來(lái)獲取我們想要的行。然后,我們將不需要的信息進(jìn)行過(guò)濾,需要注意的時(shí),正則中\(zhòng)\s+表示至少匹配一個(gè)空格,但在這里需要在加號(hào)前使用轉(zhuǎn)義字符\\。
范例四
最后一個(gè)范例,我給出我昨天一個(gè)真實(shí)案例。需求是這樣的,獲取一段文本中的url地址,但不需要前面的http://。部分文本內(nèi)容如下:
北京 上海 天津 重慶 山東: 濟(jì)南 青島 下面我們分幾步去完成該需求,首先,將不含url地址的行全部過(guò)濾
# sed -n '/http:/p' a.txt然后,將不需要的信息全部替換位空白字符即可。先把http://及之前字符全部刪除
sed -n '/http:/p' a.txt | sed 's/.*http:\\/\\///g',接著把雙引號(hào)及之后字符全部刪除
# sed -n '/http:/p' a.txt | sed 's/.*http:\\/\\///g' | sed 's/".*//g'現(xiàn)在屏幕輸出的內(nèi)容如下
haikou.hellozx.com sanya.hellozx.com kunming.hellozx.com dali.hellozx.com xining.hellozx.com yinchuan.hellozx.com wulumuqi.hellozx.com ……
當(dāng)前名稱:一文讀懂shell編程三劍客之一的sed命令
當(dāng)前網(wǎng)址:http://www.xueling.net.cn/article/cghheh.html主站蜘蛛池模板: 天天射天天爱天天干 | cl1024最新t66y入口 | 国产性生交XXXXX免费 | 两个人看的www免费视频中文 | 天天爱天天做天天做天天吃中文 | 久久国产亚洲欧美久久 | 精品国产一区二区国模嫣然 | 粗大猛烈进出呻吟声蜜臀视频 | 亚洲AV无码AV有码AV | 黄色看片网址 | 国产综合欧美 | 国产最新网址 | 日本一级视频 | 国产人妻无码一区二区三区不卡 | 精品亚洲国产成人av不卡 | 欧美日韩国产成人高清视 | av网站一区二区 | 99国产精品久久久久久久久久 | 伊人久久综合无码中文字幕 | 欧美孕妇变态重口另类 | 久久精品国产亚洲香蕉 | 精品国产一区二区三区香蕉 | 亚洲精品在线影院 | 色爱无码AV综合区老司机非洲 | 免费看黑人男阳茎进女阳道视频 | yellow视频免费观看 | 56精品视频在线播放免费观看 | 久久精品免费 | 97国产在线看片免费人成视频 | av网址免费在线 | 男生天堂精品2020在线 | 91大神视频网站 | 伊人国产精品 | 人人操日日干 | 免费的又色又爽又黄的视频本 | aⅴ一区二区三区无卡无码 国产精品a一 | 欧美疯狂XXXX乱大交 | 日韩欧美亚洲一区二区 | 色综合人人 | 边吃奶边扎下面好爽免费视频 | 久久99精品久久水蜜桃 |其他資訊