linux模糊搜索文件并删除6个月前的文件的脚本
时间: 2024-02-21 12:57:51 浏览: 14
可以使用以下脚本实现:
```bash
#!/bin/bash
# 设置搜索路径和文件名模式
search_path="/path/to/search"
filename_pattern="*.txt"
# 计算180天前的时间戳
timestamp=$(date -d 'now - 180 days' +%s)
# 使用find命令搜索并删除文件
find $search_path -type f -name "$filename_pattern" -mtime +180 -print -delete
```
将这段代码保存为一个脚本文件,比如delete_old_files.sh,并赋予执行权限(chmod +x delete_old_files.sh)。然后在终端中运行这个脚本即可。注意,这个脚本同样也是非常危险的,请务必谨慎使用。建议在执行前先使用ls命令或者echo命令进行验证。
相关问题
linux模糊搜索不同文件夹下的文件并进行删除的脚本
您可以使用以下脚本来实现这个功能:
```
#!/bin/bash
# 搜索文件名包含关键字的文件并删除
find /path/to/folder -type f -name "*keyword*" -delete
```
其中,`/path/to/folder`是您要搜索的文件夹的路径,`*keyword*`是您要搜索的文件名关键字。这个脚本会递归地在指定的文件夹及其子文件夹中搜索文件名中包含关键字的文件,并进行删除。
请注意,使用这个脚本需要谨慎,因为它会直接删除文件,无法恢复。请确保您已经备份好了需要保留的文件,以免误删重要文件。
Linux系统 写一个脚本 查询六个月之前的文件并压缩
可以使用 shell 脚本实现查询六个月之前的文件并压缩。
示例代码如下:
```
#!/bin/bash
# Define the directory to search
dir_to_search="/path/to/directory"
# Define the date six months ago
date_six_months_ago=$(date -d '6 months ago' +%Y-%m-%d)
# Find all files modified six months ago or earlier
find $dir_to_search -type f -mtime +180 -print0 | xargs -0 tar -czvf old_files.tar.gz
```
解释:
- `dir_to_search` 变量定义了要搜索的目录
- `date_six_months_ago`变量定义了六个月前的日期
- 使用`find`命令查找六个月之前修改过的文件,并将它们打包成 `old_files.tar.gz`
- `-mtime +180` 参数表示在 180 天以前修改过的文件
- `-print0` 以 null 终止符号终止文件名,防止文件名中包含空格或特殊字符导致问题
- `xargs -0` 使用 null 终止符号来处理文件名,以保证稳健性
这只是一个简单的示例,您可以根据自己的需求来调整这些命令和参数.