如何使用 Unix sed
命令将字符或表达式替换为换行符?
(对于字符替换,我通常会使用tr ';' "n"
命令。
-
使用 Sed 将
;
字符(分号)替换为换行符:sed "s/;/\ /g"
或
sed "s/;/\$(echo -e 'n')/g"
-
使用 Sed 将
[^A-Za-z]
表达式(字母字符以外的任何字符)替换为换行符:sed "s/[^A-Za-z]/\ /g"
或
sed "s/[^A-Za-z]/\$(echo -e 'n')/g"
文字换行符之前的反斜杠是在 sed 中获取换行符的可移植方法:
$ echo "a,b" | sed 's/,/
/'
a
b
怎么样:
sed $'s/;/\n/g' inputFile
$ cat inputFile
this;is;a;text
$ sed $'s/;/\n/g' inputFile
this
is
a
text
这可能
对你有用(GNU sed & Bash):
sed 'y/;/n/' file
或
sed $'y/;/\n/' file
或者非常复杂:
sed -e 'G' -e ':a' -e 's/(;)(.*(.))/32/' -e 'ta' -e 's/.$//' file