给定文件的名称和大小,如果文件大小大于给定大小,则应将其删除。
答案1
怎么样:
#!/bin/bash
# The first command line parameter is the size limit
LIMIT="$1"
shift 1
# Now loop over the rest of the command line parameters, which are the file names to check.
for file in "$@"; do
SIZE="$(stat --format="%s" "$file")"
if [ "$SIZE" -gt "$LIMIT" ]; then
echo "$file is $SIZE bytes. Deleting..."
rm "$file"
fi
done
大小限制将作为第一个参数给出,然后给出所有文件名。
例如,大小限制为 400 字节:
script.sh 400 file1 file2 file3 ... fileN
您还可以使用通配符:
script.sh 600 *.txt file1 bigfile2*.log dir1/*.txt dir2/*.old