我有不同日期的路由器备份文件的目录,多个日期\IP地址文件 如何只保留每个路由器 IP 地址的最后 10 个 例如每个仅 3 个备份
CPE-222_10.10.10.10_00:00.08-10-24.txt CPE-222_10.10.10.10_00:00.08-11-24.txt CPE-222_10.10.10.10_00:00.08-12-24.txt CPE-333_10.10.20.20_00:00.08-10-24.txt CPE-333_10.10.20.20_00:00.08-11-24.txt CPE-333_10.10.20.20_00:00.08-12-24.txt CPE-444_10.10.30.30_00:00.08-10-24.txt CPE-444_10.10.30.30_00:00.08-11-24.txt CPE-444_10.10.30.30_00:00.08-12-24.txt
我只需要每个 IP 地址的最后 2 个最新的 CPE-222_10.10.10.10_00:00.08-11-24.txt CPE-222_10.10.10.10_00:00.08-12-24.txt CPE-333_10.10.20.20_00:00.08-11-24.txt CPE-333_10.10.20.20_00:00.08-12-24.txt CPE-444_10.10.30.30_00:00.08-11-24.txt CPE-444_10.10.30.30_00:00.08-12-24.txt
谢谢
我尝试只使用良好的配置(超过 3000 b 的文件) 寻找 。 -type f -name "*.txt" -size -3000c -delete
我期待只活最后x良好的配置
谢谢
要仅保留每个路由器IP地址的最后2个最新备份文件,您可以使用以下命令:
ls -lt | awk -F_ '!seen[$2]++' | awk 'NR > 6' | xargs rm
其工作原理如下:
•
ls -lt
按修改时间降序列出当前目录下的所有文件。awk -F_ '!seen[$2]++'
过滤输出,仅保留每个唯一 IP 地址的第一次出现(第二个字段由 _
分隔)。awk 'NR > 6'
跳过前 6 行(每个 IP 地址的 2 个最新文件)并保留其余部分。xargs rm
删除剩余文件。
确保在备份文件所在目录中运行此命令。