通过与数值比较从文件中提取行

时间:2013-06-04 10:54:23

标签: shell

我有一些以下形式的数据:

|1000|1|2|abcd
|2000|1|2|djcd
|3000|1|2|eysa
|4000|1|2|adns
|5000|1|2|absd
|6000|1|2|dsvd
|7000|1|2|bejk
|8000|1|2|qwrv
|9000|1|2|vjik
|10000|1|2|msuf

我需要编写一个shell脚本,它应该打印两个值之间的所有行(并且可能包括两个值)。

EG。假设3500和8000作为输入,则输出必须

|4000|1|2|adns
|5000|1|2|absd
|6000|1|2|dsvd
|7000|1|2|bejk
|8000|1|2|qwrv

有人可以告诉所需的命令吗?谢谢!

1 个答案:

答案 0 :(得分:2)

试试这一行:

awk -F\| -v s="3500" -v e="8000" '$2>=s&&$2<=e' file

3500和8000可能是shell变量。