Zwei Daten aus zwei Spalten in über 100 Dateien in einer separaten Datei zusammenführen

Zwei Daten aus zwei Spalten in über 100 Dateien in einer separaten Datei zusammenführen

Ich habe eine große Anzahl von *.txt-Dateien (von n1.txt bis n300.txt) mit der folgenden Spalte.

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

Ich muss die Daten aus Spalte 4 und 6 extrahieren und sie in eine separate Datei einfügen, sodass Spalte 4 in aufsteigender Reihenfolge ist.

Ich muss es für alle Dateien wiederholen.

Antwort1

Extrahieren Sie Spalte 4 und 6 aus allen Dateien und schreiben Sie sie in eine temporäre Datei:

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

Sortieren Sie nun den Inhalt dieser Datei:

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

Ändern Sie die Optionen des Befehls je nachdem, wie Sie sortieren möchten sort.

verwandte Informationen