Regex 我需要一个正则表达式来查找<;IPADDRESS>;[x] 创建并排除一个特定IP地址

Regex 我需要一个正则表达式来查找<;IPADDRESS>;[x] 创建并排除一个特定IP地址,regex,Regex,我想一次打开一个日志文件并查找某个字符串 13:15:55 <AN IP ADDRESS> [2]created /myfile.zip 226 0 13:15:55[2]已创建/myfile.zip 226 0 关键是,您希望查找具有IP地址但不包括一个特定IP地址的文件,然后查找字符串中有“[2]已创建”部分的文件。括号内的数字可能有所不同 谢谢 赛斯 或者类似于bash,GNUgrep可能适合您。不确定您使用的文本数据的类型,但如果这是您试图排除的唯一IP地址,并假设所有其

我想一次打开一个日志文件并查找某个字符串

13:15:55 <AN IP ADDRESS> [2]created /myfile.zip 226 0
13:15:55[2]已创建/myfile.zip 226 0
关键是,您希望查找具有IP地址但不包括一个特定IP地址的文件,然后查找字符串中有“[2]已创建”部分的文件。括号内的数字可能有所不同

谢谢

赛斯


或者类似于
bash
,GNU
grep
可能适合您。

不确定您使用的文本数据的类型,但如果这是您试图排除的唯一IP地址,并假设所有其他IP地址都正常。 像下面这样排除特定IP地址对您有效吗?您可以用您的IP地址值替换IP地址值

排除表达式。 ^(144.44.11.222)

查找所有IP匹配项: \d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}

如果这不起作用,我建议对所有IP应用查找,然后从列表中排除


希望这能有所帮助。

你尝试了什么,什么不起作用?我什么都没试过。我对正则表达式一无所知。为什么需要正则表达式?你能不能用你选择的语言来匹配字符串?你的平台是什么?如果*INX看grep和grep-v
for f in `find /path/to/files -iname '*FILENAME*PATTERN*' -exec egrep -l '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) \[0-9\]created'`
    fgrep -v -l 'SPECIFIC_IP_TO_FILTER_OUT' $f
done