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文件吗?
答案 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