gpt4 book ai didi

linux - 查找条件的文件大小

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:35 25 4
gpt4 key购买 nike

我正在尝试编写条件语句,以便如果文件大于 1GB,它会在文件中打印该文件的名称,并跳过处理它。

#!/bin/bash
for f in *.dmp
do
if [ ! $(stat -c %s $f > 1000000000) ]; then
name=`basename ${f%.dmp}`
if [ -f ../tshark/$name.dat ]; then
echo "file exists, moving on...";
else
echo "Processing" $name;
tshark -PVx -r "$f" > ../tshark/$name.dat;
echo $name "complete, moving on...";
fi
else
echo $f "too large";
echo $f "\n" > tooLarge.txt;
fi
done

问题是! $(stat -c %s $f > 1000000000) 不工作。

如果有任何建议,我将不胜感激。

最佳答案

所以,如果您还没有看到 Advanced Bash Scripting Guide , 你应该。是的,它以 Bash 为中心,但对于像这种有条件的事情,它也是一个很好的引用。

现在,您编写的内容会尝试执行 stat -c %s $f > 1000000000作为命令(它位于 $() 构造的括号内,据我所知,它相当于旧的反引号。你想要的是 $(stat -c %s $f) -le 1000000000 执行 stat -c %s $f 然后检查它是否小于或等于到 1000000000 。这(即 a<=b )在逻辑上是 !(a>b)equivalent

关于linux - 查找条件的文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18322187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com