Bạn có thể thử sử dụng một cái gì đó như:.
sed 's/$/:80/' ips.txt > new-ips.txt
** Với điều kiện là định dạng tập tin của bạn là giống như bạn đã mô tả trong câu hỏi của bạn *
Các trận đấu lệnh s///
thay thế (thấy) cuối mỗi dòng trong tệp của bạn (sử dụng ký tự $
) và sau đó nối thêm (thay thế) :80
vào cuối mỗi dòng. Các tập tin ips.txt
là tập tin đầu vào của bạn ... và new-ips.txt
là tập tin mới tạo (kết quả cuối cùng của những thay đổi của bạn.)
Ngoài ra, nếu bạn có một danh sách các số IP mà xảy ra để có số cổng gắn liền rồi, (như đã nêu bởi Vlad và như được đưa ra bởi aragaer,), bạn có thể thử sử dụng một cái gì đó như:
sed '/:[0-9]*$/ ! s/$/:80/' ips.txt > new-ips.txt
vì vậy, ví dụ, nếu tập tin đầu vào của bạn trông giống như này (chú ý :80
):
127.0.0.1
128.0.0.0:80
121.121.33.111
Kết quả cuối cùng sẽ giống như thế này:
127.0.0.1:80
128.0.0.0:80
121.121.33.111:80
Nó sẽ nối thêm ': 80' vào dòng có': 80' đã được nối thêm? – Vlad
@Vlad Có; nhưng theo OPs cho ví dụ đầu vào ... không nên có bất kỳ số cổng nào trong danh sách các IP. :) Ngay cả khi có ... OP có thể chạy một sed 's ///' trước đó để lấy ra bất kỳ số cổng nào ở cuối mỗi dòng. – summea
Ok, chỉ cần làm rõ ... Có lẽ phải có điều kiện để loại trừ các dòng nơi cổng đã tồn tại. – Vlad