54 votes

Comment puis-je ajouter un numéro de ligne et une tabulation à chaque ligne d'un fichier texte ?

Comment puis-je ajouter un numéro de ligne et une tabulation au début de chaque ligne d'un fichier texte ?

59voto

Epaga Points 473

La commande nl devrait le faire, mais elle ajoute également un espace avant le numéro de ligne. Elle fait partie des coreutils de Linux.

nl lines.txt
 1  $bkWTN
 2  $cV8$.

54voto

jlleblanc Points 2957
awk '{printf "%d\t%s\n", NR, $0}' < filename

10voto

Chris Jester-Young Points 102876
sed = test.txt | sed 'N;s/\n/\t/'

La commande "sed =" imprimera le numéro de ligne suivi d'un retour chariot et ensuite la ligne suivante.

L'expression "N;s/ \n / \t /" prendra chaque ligne, obtiendra la ligne suivante (c'est-à-dire le numéro de ligne et la ligne), et remplacera le retour chariot par une tabulation.

4voto

L2Type Points 1196
cat -n <yourfile> | perl -pe "s/^\s*(\d+)\s+/\1\t/"

cat -n ajoute linenumbers comme " 123 linecontents" et cette regexp le modifie en "linenumberTABlinecontents".

3voto

BigMadKev Points 948
perl -pe "s/^/$.\t$_/" file.txt

o

perl -ne "print qq($.\t$_)" file.txt

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X