2013-07-26 57 views
0

我看到有人用這樣一個表達式:sed -e 's, *$,,' 有人知道我們爲什麼可以像這樣使用它,它有什麼作用?爲什麼sed的s命令可以跟一個逗號?

我以爲s命令應該是sed -e 'addr,addrs/reg/sub/'

+0

另見http://stackoverflow.com/questions/3508651/whats -the-sed-command-sed-s – devnull

+0

你的問題解決了,@dspjm? – fedorqui

+0

@fedorqui是的。謝謝回答 – dspjm

回答

5

Using different delimiters in sed

sed的任何需要遵循的 「S」 作爲分隔符

這是爲了避免逃避了太多的好辦法。如果您使用不在要處理的字符串中的分隔符,則代碼更具可讀性。

例如,假設我們想從字符串中替換lo/bye。隨着/作爲分隔符這將是一個有點亂:

$ echo "hello/bye" | sed 's/lo\/bye/aa/g' 
helaa 

所以,如果我們定義的另一個分離器是比較明確的:

$ echo "hello/bye" | sed 's|lo/bye|aa|g' 
helaa 
$ echo "hello/bye" | sed 's,lo/bye,aa,g' 
helaa