以下の出力を並べ替えまたは並べ替える方法

以下の出力を並べ替えまたは並べ替える方法

ここに私と一緒に入力する:

0015:"IDPTS3O"  
0091:『超自然』  
0015:"IDPTS3O"  
0091:『超自然』  
0015:"IDPTS3O"  
0091:『超自然』  
0015:"IDPTS3O"  
0034:"  
0015:"IDPTS3O"  
0034:"  
0015:"IDPTS3O"  
0034:"  
0015:"IDPTS3O"  
0036:"  
0015:"IDPTS3O"  
0036:"  
0015:"IDPTS3O"  
0036:"  
0015:"IDPTS3O"  
0034:"  
0015:"IDPTS3O"  
0034:"  
0015:"IDPTS3O"  
0034:"  
0015:"IDPTS3O"  
0036:"  
0015:"IDPTS3O"  
0036:"  
0015:"IDPTS3O"  
0036:"  

欲しい出力次のように表示されます。酸素「一緒に終わろう」「同じ列で一緒に終わります。

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

答え1

注文するpaste次から行をマージ複数の入力ファイルファイルごとに1つの列に複数の列を持つファイルに変換されます。

それは組合せラインで使用することができます同じファイルは、連続行が出力の連続列になるように複数の列を持つファイルに変換されます。

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

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

答え2

この問題を解決する正式な方法にはが含まれますが、ここでは出力レコード区切り文字が奇数行の空白に設定され、偶数行の改行文字に設定される代替方法が提供されますpasteawk

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

答え3

自由に試してみてください:

paste -d " " - - < filename

関連情報