亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 關(guān)于sed參數(shù)D的迷惑 [打印本頁]

作者: 貪睡的小豬    時間: 2011-12-22 21:26
標(biāo)題: 關(guān)于sed參數(shù)D的迷惑
本帖最后由 貪睡的小豬 于 2011-12-22 21:27 編輯

如file
aa
bb
cc
dd
sed '/aa/N;//D' file
bb
cc
dd
問題1、D前的//是什么意思?是模式匹配嗎?
問題2、執(zhí)行過程是匹配到aa將會讀入后一行bb 變成aa\nbb執(zhí)行D命令后刪除第一行aa\n剩下bb再回到前面執(zhí)行匹配aa沒有匹配到后為什么不執(zhí)行D刪除命令了。
作者: cjaizss    時間: 2011-12-22 21:55
1.//最近用過的一個正則表達(dá)式。
2.我也看不明白,因為這樣的情況下,我不用不帶-n的sed
作者: zooyo    時間: 2011-12-22 22:27
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
作者: yangkyo821    時間: 2011-12-22 22:33
如樓上所說//是指最近用過的正則表達(dá)式,在本例里面也就是/aa/,那么//D按sed的地址+命令來解釋的話,就是匹配/aa/的行就執(zhí)行D命令,而第一次循環(huán)刪除了aa以后,后面讀入的行是沒有能匹配aa的,那么D命令也就不會執(zhí)行,而如果后面繼續(xù)有aa(且aa不在最后一行),就會刪除aa的。
我做了如下試驗:
aa
bb
cc
dd
aa
bb
cc
sed '/aa/N;//D' file
bb
cc
dd
bb
cc
作者: 貪睡的小豬    時間: 2011-12-22 22:50
本帖最后由 貪睡的小豬 于 2011-12-22 22:54 編輯

明白了,謝謝樓上的兄弟。
作者: yangyang1581    時間: 2011-12-23 10:12
貪睡的小豬 發(fā)表于 2011-12-22 21:26
如file
aa
bb

The empty regular expression ‘//’ repeats the last regular expression match (the same holds if the empty regular expression is passed to the s command). Note that modifiers to regular expressions are evaluated when the regular expression is compiled, thus it is invalid to specify them together with the empty regular expression.

就是如果后面的地址為空`會重復(fù)之前的表達(dá)式,在s命令替換中`是一樣的效果




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2