149 votes

Ajouter du texte à la fin de chaque ligne

Je suis sur la ligne de commande Linux et j'ai un fichier avec

127.0.0.1
128.0.0.0
121.121.33.111

Je veux

127.0.0.1:80
128.0.0.0:80
121.121.33.111:80

Je me souviens que mes collègues utilisaient sed pour cela, mais après avoir lu le manuel de sed, je ne sais toujours pas comment le faire en ligne de commande ?

2voto

John Points 19

En utilisant un éditeur de texte, vérifiez que ^M (control-M, ou retour chariot) à la fin de chaque ligne. Vous devrez d'abord les supprimer, puis ajouter le texte supplémentaire à la fin de la ligne.

sed -i 's|^M||g' ips.txt
sed -i 's|$|:80|g' ips.txt

2voto

rich Points 87

Sed -i 's/$/,/g' foo.txt

Je le fais assez souvent pour ajouter une virgule à la fin d'une sortie afin de pouvoir la copier et la coller facilement dans un tableau Python (ou votre langage préféré).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X