2011-07-12 117 views
4

如何在sed中用;\n(分號後跟換行符)替換;替換';'與'; n'

我試過建設關中

sed s/;/\\n/g file 

sed -e '/;/G' file 

,但我不能讓任何工作

回答

4

你需要騙了一下:在bash你可以說

sed $'s/;/;\\\n/g' 

,或者便攜(POSIX):

sed "s/;/;$(printf '\\\n')/g" 

sed不便攜/可靠地處理任何地方,但在反斜槓逃逸該模式,甚至在那裏它是有限的(POSIX只需要處理\n,而不是\t或其他)。請注意,在\n之前還需要反斜槓,因此sed不會將其作爲命令的結尾讀取。

+0

你的第二個sed命令在bash中運行時給出了'sed:-e表達式...未終止的'命令',第一個命令很有用,謝謝! – pseudosudo

1
sed -ie 's/;/;\n/g' <file> 

這是假設你想直列做在該文件中,刪除「i」,只使用「-e」,如果不是這種情況。