我正在研究一个在.txt
文件中找到ipv4匹配项的脚本。
这是代码:
#!/bin/bash
if [ -e $1 ]
then
grep -Eow '(^| )(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])($|[[:space:]]) ' $1
else
echo "fisierul nu a fost gasit"
fi
我唯一遇到的问题是,当两个IP地址之间用空格隔开时,只有第一个被打印出来。
12.168.7.4 3.4.2.5
。在此示例中,仅打印12.168.7.4
,而忽略第二个。如果我使用2个空格,则将同时打印两个地址。是否有任何方法可以解决此问题?
答案 0 :(得分:0)
尝试使用以下命令:
grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" $1