Ajoutez facilement des numéros de ligne à un fichier texte avec la ligne de commande

Anonim

Brian demande : « J'ai besoin d'ajouter des numéros de ligne à un fichier texte. Je ne parle pas des numéros de ligne dans l'éditeur de texte, je veux dire ajouter un numéro à côté de chaque élément dans un fichier texte. Est-ce possible d'automatiser ou dois-je éditer manuellement le fichier en tapant 1, 2, 3 et devenir fou ?"

Oui, vous pouvez facilement coder en dur des numéros de ligne dans un fichier texte… nous vous montrerons exactement comment procéder ! Pour être tout à fait clair, ce que cela va faire est d'ajouter un numéro de ligne de comptage sur le côté gauche de chaque nouvelle ligne de texte, en préfixant chaque ligne avec le numéro correspondant approprié.Cela le code en dur dans le fichier texte, ce qui signifie qu'il est différent de simplement afficher les numéros de ligne dans une application comme TextWrangler, VIM ou BBEdit.

Pour commencer, accédez au terminal et vous voudrez faire ce qui suit à l'invite de la ligne de commande :

Utiliser cat pour ajouter des numéros de ligne à un fichier texte

C'est de loin la méthode la plus simple : cat -n file > file_new

Remplacez simplement "fichier" par le nom du fichier auquel vous souhaitez ajouter des numéros de ligne et remplacez "nom_fichier" par le nom exporté.

Vous pouvez également utiliser la commande "nl" comme décrit ci-après :

Numéros de ligne du noyau dur dans un fichier texte à l'aide de la commande nl

Encore une fois, remplacez "filename" et "filenamenumbered" par le nom approprié du fichier auquel vous ajoutez des numéros de ligne :

nl -ba -s ': ' filename > filenamenumbered

C'est tout ce qu'on peut en dire! Vous pouvez utiliser l'une ou l'autre astuce. Plusieurs lecteurs sont intervenus dans les commentaires pour fournir des solutions plus simples à la numérotation des lignes dans un fichier texte. Ils ont été répertoriés ci-dessus par ordre de simplicité, mais nous proposerons également une solution "awk" ci-dessous.

-

Vous pouvez également utiliser l'outil de ligne de commande "awk", mais c'est un peu plus complexe que les méthodes mentionnées ci-dessus, si vous êtes intéressé, lancez le terminal et c'est parti.

Tout d'abord, assurez-vous de sauvegarder votre fichier texte au cas où quelque chose se passerait mal (comme une erreur de syntaxe). Maintenant que vous avez fait une sauvegarde du fichier texte en question, écrivons-y directement les numéros de ligne :

"

awk &39;{printf(%5d : %s\n, NR, $0)}&39; filename > filenamenumbered "

filename est le fichier d'origine, et filenamenumbered est ce que vous voulez appeler la sortie de la commande awk avec les numéros de ligne qui lui sont attachés. Votre document texte de sortie aura désormais un numéro suivi de deux-points avant chaque élément de ligne :

1 : ligne avec des mots 2 : ligne avec des mots 3 : ligne avec des mots

Votre fichier texte d'origine devrait rester inchangé, mais si vous avez fait une erreur de syntaxe, le fichier de sauvegarde que vous avez créé vous sauvera la vie. Cette commande fonctionnera dans n'importe quel système d'exploitation Unix prenant en charge awk, alors n'hésitez pas à exécuter cette commande sous FreeBSD, Linux, Mac OS X ou toute autre variante à laquelle vous pouvez penser.

Ajoutez facilement des numéros de ligne à un fichier texte avec la ligne de commande