Shell脚本处理文本换行问题

2024-11-26 12:02:20
推荐回答(2个)
回答1:

使用一个sed命令即可:

解释:

/

:go;  设置一个标签

/<\/import>/!{    查找   如果没找到则执行大括号中的内容

N;    ——再读取一行追加到模式空间

bgo;}} ——跳转到go标签

上面会循环一直将  从 结束的各行读到入模式空间

s/\n//g;  ——删除模式空间中所有的换行符

p——打印模式空间内容,即将跨行的import变成1行。

回答2:

原内容

yyyyyyyyyyy="eeeeeeeeeeeee">




通过命令
[root@localhost script]# cat test.wsdl |awk '{{printf"%s",$0}}'|sed -e 's/<\/import>/<\/import>\n/g'



思路是先去掉所有换行符,然后把<\import>替换为<\import>+换行