次のテキストファイルがあります。
X0122
Yellow Car
$1200
YK321
Black Car
$400
BZ321132
Red Boat
$2344
各行はで区切ります。\n
3つの要素を.で区切って行に結合したいと思います;
。したがって、ファイルは次のように変換されます。
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
Unixでこれを行うにはどうすればよいですか?
注:これらのファイルには、a、ó、ãなどのアクセント文字と一重引用符を含めることができ、コマンドで指定されているように、file
「長い行を含むUTF-8 Unicode英語テキスト」でエンコードされます。
答え1
あなたはそれを使用することができます生地:
$ paste -sd';;\n' file
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
答え2
そしてawk
:
awk 'ORS=NR%3?";":RS'
出力:
X0122;Yellow Car;$1200
YK321;Black Car;$400
BZ321132;Red Boat;$2344
説明: 行番号に応じて、出力レコード区切り文字がセミコロンまたは改行文字に設定されます。