如何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
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