遍历/data/resources/下的文件,找出大于200M的文件,判断其若以“tar”结尾,则使用rm删除;若以“log“结尾,则清空该文件。
时间: 2024-01-14 14:02:46 浏览: 84
可以使用以下Shell脚本实现:
```
#!/bin/bash
# 遍历 /data/resources/ 目录下的所有文件
for file in /data/resources/*; do
# 判断文件是否大于200M
if [ $(stat -c '%s' "$file") -gt 209715200 ]; then
# 判断文件名是否以 ".tar" 结尾
if [ "${file##*.}" = "tar" ]; then
# 如果是,使用 rm 命令删除该文件
rm "$file"
fi
# 判断文件名是否以 ".log" 结尾
if [ "${file##*.}" = "log" ]; then
# 如果是,使用 cat 命令清空该文件
cat /dev/null > "$file"
fi
fi
done
```
解释:
1. `#!/bin/bash` 表示使用 bash shell 执行该脚本。
2. `for file in /data/resources/*; do` 表示遍历 /data/resources/ 目录下的所有文件,对每个文件执行下面的操作。
3. `[ $(stat -c '%s' "$file") -gt 209715200 ]` 表示判断文件是否大于 200M。
4. `${file##*.}` 表示获取文件名中的扩展名。
5. `rm "$file"` 表示删除文件。
6. `cat /dev/null > "$file"` 表示清空文件。
阅读全文