0

ここでいくつかの答えを見ましたが、それらをうまく機能させることはできません。次のようなテキストがあります。

line1
line2 text=^M
line3
line4

基本的に必要なのは、の=^M\nような空の文字に置き換えることなs/=^M\n//ので、出力は (^M は特殊文字 ctrl+v ctrl+m です)

line1
line2 textline3
line4

いくつかの sed ブランチであることは知っていますが、それらを機能させるのに問題があります。

4

2 に答える 2

1

一方通行:

$ sed '/^M/{N;s/=^M\n//;}' file
line1
line2 textline3
line4

ここで、^ Mは次のように入力する必要があります:Ctrl-V + Ctrl-M

于 2013-01-21T12:16:07.747 に答える
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"}
于 2013-01-23T02:40:06.483 に答える