以下の出力を並べ替えるにはどうすればいいですか

以下の出力を並べ替えるにはどうすればいいですか

私の入力:

0015:「IDPTS3O」  
0091:「ODMBS1I」  
0015:「IDPTS3O」  
0091:「ODMBS1I」  
0015:「IDPTS3O」  
0091:「ODMBS1I」  
0015:「IDPTS3O」  
0034:「ADTSS1I」  
0015:「IDPTS3O」  
0034:「ADTSS1I」  
0015:「IDPTS3O」  
0034:「ADTSS1I」  
0015:「IDPTS3O」  
0036:「ADTSS2I」  
0015:「IDPTS3O」  
0036:「ADTSS2I」  
0015:「IDPTS3O」  
0036:「ADTSS2I」  
0015:「IDPTS3O」  
0034:「ADTSS1I」  
0015:「IDPTS3O」  
0034:「ADTSS1I」  
0015:「IDPTS3O」  
0034:「ADTSS1I」  
0015:「IDPTS3O」  
0036:「ADTSS2I」  
0015:「IDPTS3O」  
0036:「ADTSS2I」  
0015:「IDPTS3O」  
0036:「ADTSS2I」  

私は出力次のように表示されます。「一緒に終わる」と「「同じ列に複数の語尾を並べる」

0015:"IDPTS3O" 0091:"ODMBS1I"
0015:"IDPTS3O" 0091:"ODMBS1I"
0015:"IDPTS3O" 0091:"ODMBS1I"
0015:"IDPTS3O" 0034:"ADTSS1I"

答え1

コマンドpasteの行を結合します複数の入力ファイル各ファイルから 1 つずつ、複数の列を含む 1 つのファイルにまとめます。

ラインを組み合わせるのに使用できます同じファイルを複数の列を持つファイルにエクスポートし、連続する行が出力で連続する列に表示されるようにします。

アイデアは、複数の入力ではなく、各行に 1 つの入力を複数回使用することです。
これは、標準入力から読み取り、-入力ファイルとして標準入力を表す を複数回使用することで最適に実行されます。

<filename paste -d ' ' - -
  • <filenamefilename標準入力に読み込む
  • -d ' '列間の区切りを、デフォルトのタブではなくスペースに設定します。
  • - -入力ファイル 1 と 2 として標準入力の 2 倍を表すため、各行では標準入力が 2 回読み取られ、最初の列と 2 番目の列が作成されます。

答え2

この問題を解決する標準的な方法はpaste、 ですが、ここではawk出力レコードの区切りを奇数行ではスペース、偶数行では改行に設定する代替案を提案します。

awk '{ORS=NR%2?" ":"\n";print}' file

答え3

お気軽にお試しください:

paste -d " " - - < filename

関連情報