使用时
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}"
计算文件中的IP地址,是否可以从计数中排除一个或多个给定的IP?
答案 0 :(得分:2)
如果你只有一个ip要排除:
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -vcF "<your ip>"
如果您有多个,我建议您将它们保存在文件(iplist.txt
)中,每行一个,然后:
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -vcF -f iplist.txt
grep --invert-match --count --fixed-strings --file=iplist.txt
我写了很长的选项来清除它们的含义。
它只是从输入中排除(--invert-match
),提供的文件(--file=iplist.txt
)中列出的每一行( ip )而不是正常输出,它打印得到的行数(--count
) - &gt; 只是为了避免再次使用wc -l
--fixed-strings
)需要 .
选项。
答案 1 :(得分:1)
最简单的方法是通过另一个反向grep(参数-v):
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -v "10.0.0.*"