Ich habe Daten in der Datei in Spalten. Ich möchte ein Skript schreiben, das die Daten der Spalte anzeigt, die mit der Spaltenüberschrift übereinstimmen.
C-1 C-2 C-3 C-4 C-5 C-6 C-7 C-8 C-9
10 30 35 20 9 65 87 30 29
40 32 67 78 30 54 24 21 13
50 43 32 12 43 65 78 67 54
Wenn der Benutzer die C-8-Spalte anzeigt, muss die Ausgabe sein
C-8
30
21
67
Ich bin nicht sicher, wie ich den Spaltennamen zuordnen und die Ausgabe mit awk drucken soll.
Danke, KJ
linux
bash-scripting
awk
KumarJohn
quelle
quelle
column
to_remove
im Skript.Ohne
awk
können Sie den folgenden Befehl verwenden:Funktioniert nur, wenn es eine einzelne Spalte gibt, die mit der exakten übereinstimmt
$COLUMNTITLE
quelle
Versuchen Sie es mit diesem:
Verwenden Sie es wie folgt:
Wenn Sie erwarten, Spaltennamen einzugeben, die in der Tabelle nicht vorhanden sind, sollten Sie Folgendes überprüfen: add
i!=NF+1
before{print $i}
, andernfalls erhalten Sie so viele Leerzeilen wie die Zeilen der Tabelle.Sie können es auch mithilfe einer Funktion in einer separaten Datei ablegen.
quelle