regex - 使用正则表达式高效搜索 IP 地址
问题描述
我想找到最有效的正则表达式来在一次搜索中找到三个 IP 地址,但我不确定是否有更有效(更快)的语法可以使用。
我试过一次搜索一个地址,但我很好奇是否有更快的方法。
zgrep -a -i 192\.168\.1\.(10|23|34) *.* >> Results.txt
我没有收到任何错误。我真的只是想找出是否可以使用更快的语法。
解决方案
idk 大约更快(也许删除 -a 和 -i 会有所不同,idk),但这会更准确,因为它可以避免与包含目标 IP 地址作为子字符串的较长字符串的错误匹配:
zgrep -E '(^|[^0-9])192\.168\.1\.(10|23|34)([^0-9]|$)' file
如果这不是问题,那么这会更快:
printf '192.168.1.10\n192.168.1.23\n192.168.1.34\n' | zgrep -F -f- file
推荐阅读
- kubernetes - 访问 Kubernetes 上的服务 API
- timescaledb - 如果原始数据丢失,time_bucket_gapfill 返回空结果
- javascript - 如何从函数appscript webapp调用函数
- perl - 如何从 perl 中的文本中提取引用部分?
- c++ - 谁能指导我解决这个 byref 争论类型不匹配错误?
- ios - 如何在 iOS 上的 mailto 正文中插入换行符?
- javascript - 按以任何数组元素开头的属性过滤对象
- reactjs - 在filepond中,哪个事件将使用react js处理上传的文件
- hadoop - 使用安全 MapR 集群设置 oozie 时面临的问题
- azure - azcopy“--put-md5”参数混淆