Potresti provare a usare qualcosa come:
sed -n 's/$/:80/' ips.txt > new-ips.txt
A condizione che il formato del file sia esattamente come descritto nella domanda.
Il s///comando di sostituzione trova ( trova ) la fine di ogni riga nel file (usando il $carattere) e poi aggiunge ( sostituisce ) il :80alla fine di ogni riga. Il ips.txtfile è il file di input ... ed new-ips.txtè il file appena creato ( il risultato finale delle modifiche ) .
Inoltre, se hai un elenco di numeri IP a cui capita di avere già allegati numeri di porta, (come notato da Vlad e dato da aragaer ,) potresti provare a usare qualcosa come:
sed '/:[0-9]*$/ ! s/$/:80/' ips.txt > new-ips.txt
Quindi, ad esempio, se il tuo file di input è simile a questo (nota il :80) :
127.0.0.1
128.0.0.0:80
121.121.33.111
Il risultato finale sarebbe simile a questo:
127.0.0.1:80
128.0.0.0:80
121.121.33.111:80