Regex 如何查找特定范围内的所有IP地址?
我正在尝试以以下格式查找Linux中的所有IP地址(在所有文件中): 192.168.X.X X是从0到255 我试过这个:Regex 如何查找特定范围内的所有IP地址?,regex,linux,Regex,Linux,我正在尝试以以下格式查找Linux中的所有IP地址(在所有文件中): 192.168.X.X X是从0到255 我试过这个: grep -E –r -n '(192)\.(168)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' . 它工作正常。。。但是,它也通过忽略末尾的0,将这个IP地址192.168.X.260指定为192.168.X.26 我该怎么做才能解决这个问题 谢谢。
grep -E –r -n '(192)\.(168)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' .
它工作正常。。。但是,它也通过忽略末尾的0,将这个IP地址192.168.X.260指定为192.168.X.26
我该怎么做才能解决这个问题
谢谢。试试这个:
(192)\.(168)\.(25[0-5]|2[0-4][0-9]|[1]?[0-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|[1]?[0-9]?[0-9])
无论如何,您都可以使用来帮助您使用正则表达式:)尝试以下方法:
(192)\.(168)\.(25[0-5]|2[0-4][0-9]|[1]?[0-9]?[0-9])\.(25[0-5]|2[0-4][0-9]|[1]?[0-9]?[0-9])
无论如何,您可以使用来帮助您使用正则表达式:)
我该怎么做才能解决这个问题
您应该使用能够执行比较的工具:
awk -F. '$1==192 && $2==168 && $3>=1 && $3<=255 && $4>=1 && $4<=255' inputfile
我该怎么做才能解决这个问题
您应该使用能够执行比较的工具:
awk -F. '$1==192 && $2==168 && $3>=1 && $3<=255 && $4>=1 && $4<=255' inputfile
谢谢,它正在为一个特殊文件(inputfile)工作。是否有一种方法可以对Linux中的所有文件运行此命令。@herci将其与find:
find/path-type f-exec awk-f一起使用。$1==192&&$2==168&&$3>=1&&$3=1&&$4谢谢,它适用于特殊文件(inputfile)。是否有一种方法可以对Linux中的所有文件运行此命令。@herci将其与find一起使用:find/path-type f-exec awk-f.$1==192&&$2==168&&$3>=1&$3=1&$4不幸的是,它也不能像我的一样正常工作。谢谢你的链接。不幸的是,它也不能像我的一样正常工作。谢谢你的链接。嘿@Pierre.Vriens。你在SE上的Drupal帐户怎么了?我有一阵子见不到你了。很高兴在这里见到你:)当然还有“完美”的答案。嘿@Pierre.Vriens。你在SE上的Drupal帐户怎么了?我有一阵子见不到你了。很高兴在这里见到你:)当然还有“完美”的答案。