Możesz spróbować użyć czegoś takiego:
sed -n 's/$/:80/' ips.txt > new-ips.txt
Pod warunkiem, że format pliku jest taki, jak opisano w pytaniu.
Polecenie s///
podstawienia dopasowuje ( znajduje ) koniec każdego wiersza w pliku (przy użyciu $
znaku), a następnie dodaje ( zastępuje ) znak :80
na końcu każdego wiersza. ips.txt
Plik jest plik wejściowy ... i new-ips.txt
to nowo utworzony plik ( ostateczny wynik zmian. )
Ponadto, jeśli masz listę numerów IP, które mają już dołączone numery portów (jak zauważył Vlada i podał aragaer ), możesz spróbować użyć czegoś takiego:
sed '/:[0-9]*$/ ! s/$/:80/' ips.txt > new-ips.txt
Na przykład, jeśli twój plik wejściowy wyglądał mniej więcej tak (zwróć uwagę na :80
) :
127.0.0.1
128.0.0.0:80
121.121.33.111
Ostateczny wynik wyglądałby mniej więcej tak:
127.0.0.1:80
128.0.0.0:80
121.121.33.111:80