आप कुछ का उपयोग करके देख सकते हैं:
sed -n 's/$/:80/' ips.txt > new-ips.txt
बशर्ते आपका फ़ाइल प्रारूप वैसा ही हो जैसा आपने अपने प्रश्न में वर्णित किया है।
s///
प्रतिस्थापन आदेश मैचों ( पाता ) आपकी फ़ाइल की प्रत्येक पंक्ति के अंत (का उपयोग करते हुए $
चरित्र) और फिर संलग्न कर देता है ( जगह ) :80
प्रत्येक पंक्ति के अंत तक। ips.txt
फ़ाइल अपने इनपुट फ़ाइल है ... और new-ips.txt
अपने नए बनाए गए फ़ाइल ( अपने परिवर्तनों के अंतिम परिणाम। )
इसके अलावा, यदि आपके पास आईपी नंबरों की एक सूची है जो पोर्ट नंबर के साथ पहले से जुड़ी हुई है, (जैसा कि व्लाद द्वारा दिया गया है और जैसा कि आर्गेनर द्वारा दिया गया है ,) आप कुछ इस तरह का उपयोग करने की कोशिश कर सकते हैं:
sed '/:[0-9]*$/ ! s/$/:80/' ips.txt > new-ips.txt
इसलिए, उदाहरण के लिए, यदि आपकी इनपुट फ़ाइल कुछ इस तरह दिखती है (नोट करें :80
) :
127.0.0.1
128.0.0.0:80
121.121.33.111
अंतिम परिणाम कुछ इस तरह दिखेगा:
127.0.0.1:80
128.0.0.0:80
121.121.33.111:80