【发布时间】:2020-11-29 23:41:43
【问题描述】:
想知道是否有人知道一种简单的方法来一次 grep IP 和 CIDR 形式的 IP
预期输出:
78.0.0.0/8
136.144.199.198
电流输出:
78.0.0.0
136.144.199.198
这是我当前的正则表达式:
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\/[0-9]\{1,\}'
这看起来可以工作,但似乎只适用于 perl
^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
【问题讨论】:
-
@Riaan :您可以使用
-P打开 Perl 风格的正则表达式。 -
@user1934428 在我看来就像一个普通的旧 ERE,所有 grep 都支持
-E,无需使用-P并使其成为实验性的和特定于 GNU 的。 -
@EdMorton :我同意我们在这里不需要
-P。我提到它是因为 OP 在他的问题中表示熟悉 Perl-Regexp,所以我认为他可能更喜欢-P而不是-E。