我的文件夹中有这些文件:
ls myfolder
filefoo filebar filefoobar
例如,filefoo 的内容是:
total: 379400041
cache_object://localhost/active_requests 379400041 6778 0-13955161 0-14111309 0-12250718 0-11422369 0-11901178 0-11781835 0-12687756 0-17663930 5-110207691 6-123940805 2-39477289 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0
bla bla bla
注:其余文件内部结构相同,但编号有所变化
所以我有兴趣从这些文件中提取的值是“总数:数字”。这个值总是在每个文件的第一行:
find myfolder -type f -exec awk '/^total:/{print $NF}' {} +
379400041
35402285
8589934592
我应该将它与这个变量进行比较:
max="1073741824"
所以我需要的是,如果这些值中的任何一个超过 $max 变量(值 > $max),它应该将文件输出到输出列表。示例(非功能性):
if (( "value" > "$max" )); then
# or if [ "value" -gt "$max" ]; then
the command to send the file to a list is missing > output.lst
else
echo "do nothing"
fi
预期输出:
cat output.lst
filefoobar
因为 filefoobar 有 8589934592 并且这个值 > $max
怎么做?谢谢
尝试这个:
请注意重音符号的使用,并且“=”周围没有空格。
当然,这里没有错误检查。