100を超えるファイルの2つの列の2つのデータを単一のファイルにマージする

100を超えるファイルの2つの列の2つのデータを単一のファイルにマージする

私は大きいサイズを持っています。 *.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

おすすめ記事