繁体   English   中英

如何使用正则表达式grep特定的IP地址?

[英]How to grep specific IP Addresses using regex?

我的简化示例文件如下...实际文件中包含更多文本和IP。 只是为了使本示例更容易。

file.txt

10.1.1.9
10.1.1.33
10.1.1.35

10.1.1.9 & 10.1.1.33 grep 10.1.1.9 & 10.1.1.33

如果我使用grep '10.1.1.[9|33]' file.txt ,这将grep所有内容,包括.35。

我知道可以使用grep -v 35 file.txt来实现,但是我想要正则表达式中的解决方案,因为实际文件包含的数据比该示例更多。

我的正则表达式有什么问题以及如何解决?

[user@linux]$ grep '10.1.1.[9|33]' file.txt
10.1.1.9
10.1.1.33
10.1.1.35
[user@linux]$

所需的输出(无0.35)

[user@linux]$ grep '10.1.1.[regex here]' file.txt
10.1.1.9
10.1.1.33
[user@linux]$

应该使用简单的grep完成。

grep -E '10\.1\.1\.(9|33)'  Input_file

其中-E选项是(来自man grep ):

  -E, --extended-regexp Interpret PATTERN as an extended regular expression (ERE, see below). (-E is specified by POSIX.) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM