我在这里看到了一些答案,但不能让它们适合我。 我有这样的文字:
line1
line2 text=^M
line3
line4
基本上我需要的是用=^M\n
之类的空字符替换s/=^M\n//
,所以输出是(^ M是特殊字符ctrl + v ctrl + m)
line1
line2 textline3
line4
我知道它有一些sed分支,但我有问题让它们工作。
答案 0 :(得分:1)
一种方式:
$ sed '/^M/{N;s/=^M\n//;}' file
line1
line2 textline3
line4
其中^ M必须输入为:Ctrl-V + Ctrl-M
答案 1 :(得分:1)
awk解决方案
#awk -f myawk.sh temp.txt
BEGIN { print "Start Records"}
{
if ($2 ~ /=\^M/){
a=$1;
gsub("=\\^M","",$2);
b=$2; f=1
}
else {
if(f==1){
print a""b""$0;
a="";
b="";
}else{
print $0
}
}
}
END {print "Process Complete"}