如何使用perl/shell脚本替换文本



我有一个模式

cat sample.text

newline</Text>

我使用以下命令:

sed ':a; N; $!ba; s|newline</Text>|</Text>|g' sample.text

但以下命令不起作用。

这可能对你有用(GNU sed(:

sed '$!N;s/n(</Text>)/1/;P;D' file

sed -r '$!N;s|n(</Text>)|1|;P;D' file

但是,如果newline是文字:

sed 's/\newline(</Text>)/1/g' file

sed -r 's|\newline(</Text>)|1|g' file

也同样有效。

您只是想去掉</Text>之前的换行符吗?这只是一个简单的替代:

gawk -vRS='' -vORS= '{gsub(/n</Text>/,"</Text>")}1' file

我自己刚刚找到了解决方案,想与大家分享。

 sed ':a; N; $!ba; s|\newline</Text>|</Text>|g' sample.text

最新更新