如何grep值小于或等于value的行

时间:2015-04-18 09:54:58

标签: linux shell unix awk grep

size=139
size=9292
size=140
size=139
size=139
size=10213
size=139
size=140
size=11186
size=139
size=139
size=140
size=12342
size=139
size=139
size=140
size=11360

如何从size.txt?

中获取值大于1000的行

另外,有什么方法可以从整个文件夹中找到这些信息,这个文件夹有很多这样的txt文件吗?

3 个答案:

答案 0 :(得分:7)

使用awk:

awk -F= '$2 > 1000' filename

这可以与许多文件名一起使用:

awk -F= '$2 > 1000' *

或与find结合使用也可以执行子文件夹:

find directory -type f -exec awk -F= '$2 > 1000' '{}' \;

对于后两者,可能需要打印文件名以及实际结果(模仿grep的行为),这可以通过以下方式实现:

awk -F= '$2 > 1000 { print FILENAME ": " $0 }' *

答案 1 :(得分:1)

使用bash内置命令:

while IFS="=" read variable value; do
  [[ $value -gt 1000 ]] && echo "${variable}=${value}"
done < file

输出:

size=9292
size=10213
size=11186
size=12342
size=11360

答案 2 :(得分:0)

egrep "size=[0-9]{4}" size.txt