如何使用 sed 将字符或表达式替换为换行符



如何使用 Unix sed 命令将字符或表达式替换为换行符?

(对于字符替换,我通常会使用tr ';' "n"命令。

  1. 使用 Sed 将;字符(分号)替换为换行符:

    sed "s/;/\
    /g"
    

    sed "s/;/\$(echo -e 'n')/g"
    
  2. 使用 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

相关内容

  • 没有找到相关文章

最新更新