我有一种模式
cat sample.text
\newline</Text>
我正在使用以下命令:
sed ':a; N; $!ba; s|\newline</Text>|</Text>|g' sample.text
但是以下命令无效。
答案 0 :(得分:2)
这可能适合你(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
同样有效。
答案 1 :(得分:2)
您是否只是想在</Text>
之前摆脱换行符?这只是一个简单的替代:
gawk -vRS='\0' -vORS= '{gsub(/\n<\/Text>/,"</Text>")}1' file
答案 2 :(得分:0)
我自己找到了解决方案,所以想与大家分享。
sed ':a; N; $!ba; s|\\newline<\/Text>|</Text>|g' sample.text