Shell grep用于查找除一组给定地址之外的IP
使用时Shell grep用于查找除一组给定地址之外的IP,shell,grep,Shell,Grep,使用时 grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" 要对文件中的IP地址进行计数,是否可以从计数中排除一个或多个给定IP?最简单的方法是通过另一个反向grep(参数-v)进行管道传输: 如果您只有一个要排除的ip: grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -vcF "<your ip>" 第二个问题的解释正在进行中 我写了选项的长格式以明确其含义 它只是从输入中排除(--i
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}"
要对文件中的IP地址进行计数,是否可以从计数中排除一个或多个给定IP?最简单的方法是通过另一个反向grep(参数-v)进行管道传输:
如果您只有一个要排除的ip:
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -vcF "<your ip>"
第二个问题的解释正在进行中 我写了选项的长格式以明确其含义 它只是从输入中排除(
--invert match
),在提供的文件(--file=iplist.txt
)中列出的每一行(ip),并打印结果行数(--count
)->而不是正常输出,这只是为了避免再次使用wc-l
--需要使用固定字符串
选项来强制grep不解释特殊字符(
在这种情况下)。是的,您要排除哪个地址?任何地址,比如x.y.t.z最简单的方法是将grep传输到grep-v'excludeip'
我可以将两个IP放在引号内吗?@Bob是的,您可以,如果有100个IP,您可以将它们保存在一个文件中。然后你的grep…| grep-vf exc.file
grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" | grep -vcF "<your ip>"
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