
Ich möchte zwei Werte aus einer Reihe von TXT-Dateien extrahieren.
Dies sind die letzten beiden Zeilen (Zeile 49 und Zeile 50) meiner TXT-Datei
1 13593 3434 2.2585 0.9
2 3333 333 3.7118 0.8
& Ich möchte die 4. Spalte (zB 2,2585 & 3,7118) der Zeilen 49 und 50 aus jeder .txt-Datei extrahieren.
Gibt es eine Möglichkeit, dies zu tun?
Vielen Dank
Antwort1
Sie können es awk
zur Textverarbeitung verwenden. Die folgende awk-Anweisung liest die Datei „input“ und druckt den Wert in Spalte 4 der Zeilen 49 und 50.
awk 'FNR==49 || FNR==50 {print $4}' Eingabe
Um nun alle Dateien im Verzeichnis zu lesen (vorausgesetzt, alle Dateien befinden sich im selben Verzeichnis), können Sie eine for-Schleife ausführen, um die Dateinamen zu lesen. Die endgültige Anweisung lautet also:
für Datei in *; führen Sie awk 'FNR==49 || FNR==50 {print $4}' "$file" aus; fertig
Und wie trososwie erwähnt, sind die Eingabedateien nur .txt
Format. Wir können also
awk 'FNR==49 || FNR==50 {print $4}' *.txt