Der Befehl nl sollte dies tun, fügt jedoch auch Platz vor der Zeilennummer ein. Es ist Teil von Linux-Kernprodukten.
nl lines.txt 1 $bkWTN 2 $cV8$.
Wie kann ich am Anfang jeder Zeile einer Textdatei eine Zeilennummer und einen Tabulator anhängen?
Der Befehl nl sollte dies tun, fügt jedoch auch Platz vor der Zeilennummer ein. Es ist Teil von Linux-Kernprodukten.
nl lines.txt 1 $bkWTN 2 $cV8$.
awk '' < filename
sed = test.txt | sed 'N;s/\n/\t/'
Der Befehl "sed =" gibt die Zeilennummer gefolgt von einem Wagenrücklauf und der nächsten Zeile aus.
Der Ausdruck "N; s / \ n / \ t /" nimmt jede Zeile, ruft die nächste Zeile (z. B. Zeilennummer und Zeile) ab und ersetzt den Wagenrücklauf durch einen Tabulator.
cat -n <yourfile> | perl -pe "s/^\s*(\d+)\s+/\1\t/"
cat -n fügt als "123 linecontents" Leinennummern hinzu und ändert diese durch regexp in "LeinennummerTABlinecontents".
perl -pe "s/^/$.\t$_/" file.txt
oder
perl -ne "print qq($.\t$_)" file.txt
Wie wäre es mit
cat -n somefile.txt
?
OK, hier ist eine einzeilige Bash-Lösung:
$ IFS=$'\n';x=1;for l in $(<file.txt);do echo -e "$x\t$l";((x+=1));done $ IFS=
Die erste IFS-Einstellung weist bash an, jeweils eine vollständige Zeile zu lesen. Die zweite Zeile setzt den IFS auf den Standard zurück.
Als zusätzlicher Bonus läuft es komplett in Ihrer Shell und führt kein Programm aus!
sed file.txt -e 's/^/\t/' | cat -n | sed -e 's/^\t//'
oder für einige Nicht-GNUs sed
:
cat file.txt | sed -e 's/^/\\t/' | cat -n | sed -e 's/^\\t//'
Ok, da wir Möglichkeiten sammeln, dies zu tun,
grep -n . file.txt | sed 's/\(^[0-9]*\):/\1 /g' # this is a tab with Ctrl-V + Tab =====> ----