GREP IP范围Bash脚本

发布于 2025-01-19 10:27:28 字数 181 浏览 2 评论 0原文

我刚刚开始bash脚本,我很难从文件中获得特定的IP范围。

我已经尝试了以下操作:

grep "213.184.111.[128][254]" example.txt

使用seqsort有一种更轻松的方法吗?

I just got into Bash scripting and I'm having a hard time grepping a specific IP range from a file.

I've tried the following:

grep "213.184.111.[128][254]" example.txt

Is there an easier way using seq or sort?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

那一片橙海, 2025-01-26 10:27:28

awk也是可能的。使用作为字段分离器,并比较第四字段。

awk -v start=128 -v end=254 -v FS=. '$4>=start && $4<=end' example.txt

输出:

213.184.111.128
213.184.111.129
213.184.111.130
...
213.184.111.252
213.184.111.253
213.184.111.254

请参阅: 8强大的内置变量 - fs ,ofs,rs,ors,nr,nr,nf,nf,filename,fnr

When awk is also possible. Use . as field separator and compare fourth field.

awk -v start=128 -v end=254 -v FS=. '$4>=start && $4<=end' example.txt

Output:

213.184.111.128
213.184.111.129
213.184.111.130
...
213.184.111.252
213.184.111.253
213.184.111.254

See: 8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR

无名指的心愿 2025-01-26 10:27:28

我的同事刚刚帮我解决了以下问题:

grep -P "(213\.184\.111\.(12[8-9]|1[3-9][0-9]|2[0-9][0-9]))"

有更简单的选择吗?

My colleague just helped me out with the following:

grep -P "(213\.184\.111\.(12[8-9]|1[3-9][0-9]|2[0-9][0-9]))"

Is there an easier option?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文