/ / Wie man Spaltenindizes in bash - linux, bash hinzufügt

Wie man Spaltenindizes in bash - linux, bash hinzufügt

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 № 1

Mit 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