遍历/data/resources/下的文件,找出大于200M的文件,判断其若以“tar”结尾,则使用rm删除;若以“log“结尾,则清空该文件
时间: 2024-01-13 14:02:57 浏览: 64
可以使用find命令来遍历/data/resources/下的文件,并使用du命令来获取文件大小,再通过if语句判断是否大于200M。如果文件以“tar”结尾,则使用rm命令删除;如果以“log”结尾,则使用truncate命令清空文件内容。具体命令如下:
```
find /data/resources/ -type f -size +200M | while read file
do
size=$(du -m "$file" | cut -f1)
if [ $size -gt 200 ]; then
if [[ $file == *.tar ]]; then
rm "$file"
elif [[ $file == *.log ]]; then
truncate -s 0 "$file"
fi
fi
done
```
上述命令使用while循环读取find命令查找到的文件列表,然后对每个文件进行判断。注意,truncate命令在清空文件内容时相当于删除文件中的数据,但文件本身仍然存在。如果您希望完全删除文件,可以将truncate命令替换为rm命令。
阅读全文