Ich habe eine Textdatei mit einer Reihe von Zeilen und Spalten wie folgt:
a b c d ...
e f g h ...
i j k l ...
...
Ich möchte für jeden Eintrag Spaltenindizes hinzufügen, deren Ausgabe so aussieht
1:a 2:b 3:c 4:d ...
1:e 2:f 3:g 4:h ...
1:i 2:j 3:k 4:l ...
...
Ich frage mich, ob es einen einfachen Weg gibt, dies in bash zu realisieren. Vielen Dank!
Antworten:
1 für die Antwort № 1Mit awk:
awk "{for (i=1;i<=NF;i++){printf i":"$i" "};printf "n"}" file
Ausgabe:
1: a 2: b 3: c 4: d 5: ... 1: e 2: f 3: g 4: h 5: ... 1: i 2: j 3: k 4: l 5: ... 1: ...
1 für die Antwort № 2
Mit Perl:
perl -lane "$, = " "; print map { (1 + $_) . ":$F[$_]" } 0 .. $#F" file
# or
perl -lane "$, = " "; $i = 1 ; print map { $i++ . ":$_" } @F" file