改行を避ける

改行を避ける

次の構造のファイルがあります。

2015-03-25 17:08:17
sysUpTimeInstance 93474;^M
1.ValueforState=2500

改行文字を変更して3行目を2行目にしておきたいです。つまり、出力は次のようになります。

2015-03-25 17:08:17
sysUpTimeInstance 93474;1.ValueforState=2500

私はsedを試してみます:

sed 's/^M$//' myfile.dat > mynewfile.dat

ただし、^M記号のみが削除されます。

どんな提案がありますか?

ベストアンサー1

2つの考え:

  1. sed を使用して、キャリッジリターンで終わる行に次の行を追加します。

    sed '/\r$/ {N; s/\r\n//} ' file
    
  2. awk を使用して、入出力のレコード区切り記号を定義します。

    awk -v RS='\r\n' -v ORS='' 1 file
    

おすすめ記事