100 以上のファイルの 2 つの列から 2 つのデータを 1 つのファイルに結合します。

100 以上のファイルの 2 つの列から 2 つのデータを 1 つのファイルに結合します。

次の列を持つ *.txt ファイル (n1.txt から n300.txt まで) が多数あります。

    #1               #2             #3              #4           #5                   #6
0.000000e+00    2.495000e+02    0.000000e+00    5.010000e+02    nan             2.955461e-01           

列 4 と 6 からデータを抽出し、列 4 が昇順になるように別のファイルに貼り付ける必要があります。

すべてのファイルに対してこれを繰り返す必要があります。

答え1

すべてのファイルから列 4 と 6 を抽出し、tmp ファイルに書き込みます。

for file in *.txt;do
  awk '{print $4,$6}' "${file}" >> /tmp/a
done

次に、そのファイルの内容を並べ替えます。

sort -g /tmp/a > /tmp/b

並べ替え方法に応じて、sortコマンドのオプションを変更します。

関連情報