Bash脚本查找早于X天的文件,然后删除它,以及任何具有相同基名称的文件?

Bash脚本查找早于X天的文件,然后删除它,以及任何具有相同基名称的文件?,bash,Bash,我正在试图找到一种方法来搜索一个目录,查找一个超过365天的文件。如果它找到了匹配项,我希望它既删除该文件,又找到目录中具有相同basename的任何其他文件,并同时删除这些文件 文件名示例:12345.pdf(搜索),然后删除,12345_a.pdf,12345_xyz.pdf(如果存在则删除) 谢谢!我对BASH脚本非常陌生,因此非常感谢您的耐心;-)) 我怀疑一次就可以干净利落地做到这一点 您最好使用-mtime或变体来收集名称,然后使用另一个find命令删除与这些名称匹配的文件 更新 关

我正在试图找到一种方法来搜索一个目录,查找一个超过365天的文件。如果它找到了匹配项,我希望它既删除该文件,又找到目录中具有相同basename的任何其他文件,并同时删除这些文件

文件名示例:12345.pdf(搜索),然后删除,12345_a.pdf,12345_xyz.pdf(如果存在则删除)


谢谢!我对BASH脚本非常陌生,因此非常感谢您的耐心;-))

我怀疑一次就可以干净利落地做到这一点

您最好使用
-mtime
或变体来收集名称,然后使用另一个
find
命令删除与这些名称匹配的文件

更新

关于你的评论,我的意思是:

# find basenames of old files
find .... -printf '%f\n' | sort -u > oldfiles
for file in ($<oldfiles); do find . -name $file -exec rm; done
#查找旧文件的基本名称
找到-printf“%f\n”|排序-u>旧文件

存档($你用-mtime+365选项在xargs中使用basename和rm的find命令尝试了什么吗?@NSD他们将如何删除所有具有相同basename的文件?@Misalevariable,就像你做的那样…我没有给出答案,只是想给他一个提示,让他可以尝试一次…嗯…我错过了你之前评论中的basename/xargs内容slymy的尝试应该是这样的:
对于find.-iname“z*”-exec basename{}\ | cut-d.“-f1;do find.-iname“*$fls*”| xargs ls-l;done;
感谢您的回复!我正在使用find/data/../departments/yy mtime+365-exec rm}”\;删除该文件。我不确定如何重新使用找到的文件名来搜索具有匹配basename的其他文件。。。。。