3つの行を1つにまとめる方法

3つの行を1つにまとめる方法

最大2000行の次のパターンを含むファイルがあります。パターンは3行のセットごとに異なる数値で繰り返されますが、開始テキスト値はファイルの終わりまで共通です。

ここでは3行をマージする必要があります。

次のように入力してください

ABC 1223334
Days 344678544324677
Base 45666
ABC 1234565
Days 234567899765443
Base 456643

次の出力が必要です。

ABC 1223334 Days 344678544324677 Base 45666
ABC 1234565 Days 234567899765443 Base 456643

ベストアンサー1

これは、入力が Unix テキスト形式であると仮定します。 DOS/Windows のテキスト形式ファイルを使用する場合は、まずdos2unix次のようにします。

タブ区切り出力の場合:

$ paste - - - <file
ABC 1223334     Days 344678544324677    Base 45666
ABC 1234565     Days 234567899765443    Base 456643

スペースで区切られた出力の場合:

$ paste -d ' ' - - - <file
ABC 1223334 Days 344678544324677 Base 45666
ABC 1234565 Days 234567899765443 Base 456643

上記のように、3つのダッシュでこのpasteコマンドを使用すると、3つの出力列が生成されます。各列は入力の行から読み取られます。デフォルトでは、列はタブまたはオプション引数として使用される文字で区切られています-d

おすすめ記事