我有一个数字从-100到100的文件,我只想从-10到10打印
目前,我在
egrep '[0-9][0-3]'
不幸的是,打印-13,-12,-11,-10,10,11,12,13,20,21,22,23。
答案 0 :(得分:2)
尝试使用该正则表达式:
^[-]?(10|[0-9])$
因此,对CLI的调用将是:
egrep "^[-]?(10|[0-9])$" testfile
为什么?
答案 1 :(得分:0)
egrep '^-?10$|^-?[0-9]$'
这基本上是两个正则表达式,一个得到10,-10和一个得到所有奇异数字
答案 2 :(得分:0)
这不是关于egrep,因为从你的评论看来你似乎不希望egrep本身就是一些替代品:
使用seq:seq first inc last
seq -15 1 14
会在自己的行上打印-15到14之间的所有数字
使用awk:awk '{ if ($1 >= first && $1 <= last) print $1 }' filename
awk '{ if ($1 >= -15 && $1 <= 14) print $1 }' numbers.txt
会在自己的行上打印-15到14之间的所有数字
使用perl:perl -lane 'print $_ if $_ >= first && $_ <= last' filename
perl -lane 'print $_ if $_ >= -15 && $_ <= 14' numbers.txt
会在自己的行上打印-15到14之间的所有行
希望有所帮助