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 ?

2voto

jms Points 318

Qu'en est-il

cat -n somefile.txt

?

2voto

P. Heffner Points 184

OK, voici une solution bash en une ligne :

$ IFS=$'\n';x=1;for l in $(<file.txt);do echo -e "$x\t$l";((x+=1));done
$ IFS=

Le premier paramètre IFS indique à bash de lire une ligne complète à la fois. La deuxième ligne réinitialise l'IFS par défaut.

En prime, il s'exécute entièrement dans votre Shell et n'exécute pas de programme !

1voto

Cros Points 1853
sed file.txt -e 's/^/\t/' | cat -n | sed -e 's/^\t//'

ou pour certains non-GNU sed s :

cat file.txt | sed -e 's/^/\\t/' | cat -n | sed -e 's/^\\t//'

1voto

Mark Points 251

Ok, puisque nous collectons les moyens de faire ça,

 grep -n . file.txt | sed 's/\(^[0-9]*\):/\1    /g'
 # this is a tab with Ctrl-V + Tab  =====>  ----

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