如何在sed中用;
(分号后跟换行符)替换;\n
?
我试过建立
sed s/;/\\n/g file
和
sed -e '/;/G' file
但我无法上班
答案 0 :(得分:4)
你需要作弊:bash
你可以说
sed $'s/;/;\\\n/g'
或者,便携式(POSIX):
sed "s/;/;$(printf '\\\n')/g"
sed
无法在模式中移植/可靠地处理反斜杠转义,甚至在模式中也是如此(POSIX只需要处理\n
,而不是\t
或其他)。请注意,在\n
之前还需要反斜杠,因此sed
不会将其作为命令的结尾读取。
答案 1 :(得分:1)
sed -ie 's/;/;\n/g' <file>
假设您要在文件中内嵌,请删除&#34; i
&#34;并且只需使用&#34; -e
&#34;如果情况并非如此。