Vous pouvez essayer d'utiliser quelque chose comme:
sed -n 's/$/:80/' ips.txt > new-ips.txt
À condition que votre format de fichier soit exactement comme vous l'avez décrit dans votre question.
La s///
commande de substitution fait correspondre ( trouve ) la fin de chaque ligne de votre fichier (en utilisant le $
caractère), puis ajoute ( remplace ) le :80
à la fin de chaque ligne. Le ips.txt
fichier est votre fichier d'entrée ... et new-ips.txt
votre fichier nouvellement créé ( le résultat final de vos modifications. )
De plus, si vous avez une liste de numéros IP auxquels des numéros de port sont déjà attachés (comme noté par Vlad et comme indiqué par aragaer ), vous pouvez essayer d'utiliser quelque chose comme:
sed '/:[0-9]*$/ ! s/$/:80/' ips.txt > new-ips.txt
Ainsi, par exemple, si votre fichier d'entrée ressemblait à quelque chose comme ça (notez le :80
) :
127.0.0.1
128.0.0.0:80
121.121.33.111
Le résultat final ressemblerait à ceci:
127.0.0.1:80
128.0.0.0:80
121.121.33.111:80