मेरे पास एक स्क्रिप्ट है जो कुछ आउटपुट उत्पन्न करती है। मैं किसी भी आईपी पते की तरह उस आउटपुट को जांचना चाहता हूं
159.143.23.12
134.12.178.131
124.143.12.132
if (IPs are found in <file>)
then // bunch of actions //
else // bunch of actions //
है fgrep
एक अच्छा विचार है?
मेरे पास बैश उपलब्ध है।
0010.0000.0000.0001
? फ़ाइल में अन्यथा ऐसी चीज़ें हो सकती हैं जो IP पते की तरह दिखती हैं जैसे संस्करण संख्याएँ ( soft-1.2.1100.1.tar.gz
, नेटवर्क विनिर्देश (10.0.0.0/24), 1.2.3.4.5)? क्या आप कोई ऐसा समाधान स्वीकार करेंगे जो 333.444.555.666 पर सकारात्मक हो? या 0377.0377.0377.0377
(एक वैध क्वाड-ऑक्टल आईपी पता)?
bash
उपलब्ध है, तो awk
आमतौर पर यह भी है, इसलिए यह आपके लिए काम कर सकता है: awk '/([0-9]{2,3}\.){3}/ {print $5 "\t" $1}'
(यह एक-लाइनर मेजबान XFR सूची के आउटपुट को /etc/hosts
प्रारूपित करने के लिए अनुवाद करता है।)