我有一个带数字的行列表。需要从373
开始的所有行中排除。
例如我的列表是:
37322433151
37323175491
19376717186
79684480273
97246000252
37323175491
37323175491
40745108277
如果我cat ... | egrep '^[^373].*'
,则会排除从3
或7
开始的行,输出为
19376717186
97246000252
40745108277
即使表达式为^[^(373)].*
如果行以373
开头,我也需要排除。谁能告诉我应该使用什么表达式?
我也试过'^(?!373).*
答案 0 :(得分:2)
如果您想使用正则表达式,那么您可以尝试:
^(37[^3]|3[^7]|[^3])[0-9]+$
答案 1 :(得分:1)
使用grep -v
:
grep -v "^373" file
使用awk:
awk '!/^373/' file
使用grep -P
(PCRE):否定前瞻
grep -P '^(?!373)' file