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

How to grep rows that have value less than or equal to value

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 中 grep 值大于 1000 的行?

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

使用 awk:

awk -F= ' > 1000' filename

这可以用于许多文件名:

awk -F= ' > 1000' *

或结合 find 也对子文件夹执行此操作:

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

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

awk -F= ' > 1000 { print FILENAME ": " [=13=] }' *

使用 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
egrep "size=[0-9]{4}" size.txt