Linux
linux +僅將文本文件中的有效IP匹配到其他文件中
請建議如何僅匹配 file.txt 中的有效 IP ( 255.255.255.255 ) 並僅將有效 IP 插入 VALID_IP.txt 文件
- (例如參見 VALID_IP.txt )
解決方案應該在我的 ksh 腳本中實現(所以 perl 或 sed 或 awk 也可以)
更多文件.txt
e32)5.500.5.5*kjcdr ##@$1.1.1.1+++jmjh 1.1.1.1333 33331.1.1.1 @5.5.5.?????? ~3de.ede5.5.5.5 1.1.1.13444r54 192.9.30.174 &&^#%5.5.5.5 :5.5.5.5@%%^^&* :5.5.5.5: **22.22.22.22 172.78.0.1()*5.4.3.277
VALID_IP.txt 文件範例
1.1.1.1 192.9.30.174 5.5.5.5 5.5.5.5 5.5.5.5 22.22.22.22 172.78.0.1
以下是一個合適的正則表達式,為了我自己的理智,分成 4 行不同的行。
(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\. (1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\. (1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\. (1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])
輸出:
egrep -o `cat regex` infile #all regex lines above joined, no spaces 1.1.1.1 1.1.1.133 31.1.1.1 5.5.5.5 1.1.1.134 192.9.30.174 5.5.5.5 5.5.5.5 5.5.5.5 22.22.22.22 172.78.0.1 5.4.3.27
顯然,這與您的範例不符。為什麼?因為我們不能說 3 不屬於 1。如您所見,垃圾編號無法完全猜出。