代码如下,我想查看一些小于410Bytes的文件:
for file in *; do
if [[ "$file" =~ ^dataset([0-9]+)$ && `du -b $file/${BASH_REMATCH[1]}_conserv.png` -lt 410 ]]; then
cd $file
$some_commands
cd ..
fi
done
但是,当我运行这个脚本时,它会这样提示:
less_than_410.bash: line 2: [[: 13605 dataset4866/4866_conserv.png: syntax error in expression (error token is "dataset4866/4866_conserv.png")
有没有人知道如何解决这个问题?谢谢!
最佳答案
du -b file
它将打印文件大小和名称。使用 cut
仅获取大小:
du -b file | cut -f 1
关于linux - bash 中 if 语句的表达式语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13468529/