Bash脚本:选择以特定范围内的数字开头的行

时间:2015-01-16 18:04:09

标签: linux bash awk sed grep

我有一个包含以下行的文件:

121<some letters> random text ...
1234<some letters> random numbers etc...

每行以一个数字后跟一些字母开头。我正在寻找一种方法来仅选择以特定间隔中的数字开头的行,例如:[0-9999]。如果位数可以变化,我很难选择这些行。

尝试使用grep但似乎找不到正确的方法来编写正则表达式。

2 个答案:

答案 0 :(得分:4)

awk '($1+0)>10 && ($1+0)<50' file

会打印以11到49之间的数字开头的行。

答案 1 :(得分:1)

通过grep,

grep -E '^([1-9][0-9]?[0-9]?[0-9]|[0-9])\b' file