eine spezifische Spaltennummer nach Spaltenname erhalten. Ich habe n Anzahl der Dateien, in diesen Dateien wird eine spezifische Spalte namens "thrudate" in jeder Spalte mit unterschiedlicher Spaltennummer angegeben.Mit awk
Ich möchte nur den Wert dieser Spalte aus allen Dateien auf einmal extrahieren. Also habe ich versucht mit awk. Hier Ich betrachte nur eine Datei, und Extrahieren der Werte von thrudate
awk -F, -v header=1,head="" '{for(j=1;j<=2;j++){if($header==1){for(i=1;i<=$NF;i++){if($i=="thrudate"){$head=$i;$header=0;break}}} elif($header==0){print $0}}}' file | head -10
Wie ich genähert haben:
- verwendet Befehl find alle ähnliche Dateien zu finden und dann den zweiten Schritt für jede Ausführung Datei
- Schleife alle Felder in der ersten Zeile, die Überprüfung der Spaltenname mit Header-Werten wie 1 (initialisiert es auf 1, um nur die erste Zeile zu überprüfen), sobald es mit 'thrudate' übereinstimmt, setze ich Header als 0, dann von diesem brechen Schleife.
- Sobald ich die Spalte Nummer, dann drucken Sie es für jede Zeile.
danke, diese verdammt richtig ist, wollte nur wissen, ob können wir das tun, um 2 Spalten zu holen? – ggupta
Ich habe das hinzugefügt. – hek2mgl
Hut ab, mach eine Verbeugung (Y) vielen Dank. – ggupta