查找/var/log/目录下所有以.log结尾的文件,将大于50K的文件保存到/opt/目录中
时间: 2024-09-15 19:13:27 浏览: 66
pkemlyreplacementimplement.rar_数值算法/人工智能_C/C++_
要在Linux系统中查找`/var/log/`目录下所有以`.log`结尾的大于50KB的文件并将其移动到`/opt/`目录,可以使用`find`, `du`, 和 `mv` 命令结合。首先,使用`find`命令找到目标文件:
```bash
find /var/log/ -type f -name "*.log" -size +50k
```
这会列出所有大小超过50KB的.log文件。然后,使用`du`命令确认文件确实大于50KB,并准备一个临时列表,比如通过重定向到一个文本文件:
```bash
find ... | du -k > temp_list.txt
```
接着,检查临时列表,如果文件确实大于50KB,再使用`xargs`配合`mv`命令移动文件:
```bash
cat temp_list.txt | while read line; do
size=$(echo $line | cut -f1) # 提取文件大小
if [ $size -d ' ' -f9) # 提取文件路径
mv "$file_path" /opt/
fi
done < temp_list.txt
```
这里假设`du -k`的结果格式为"文件大小 文件路径"。
请注意,在实际操作前,最好先备份重要数据,以防误操作。同时,由于涉及到文件系统操作,这个脚本应该以root权限运行。
阅读全文