我有文件夹和子文件夹。我需要遍历每个文件夹和子文件夹,并删除或移动以 abc.txt 开头和 14 天前的文件名到临时文件夹。我的文件夹树结构是:
文件可能位于文件夹或子文件夹'abc.txt'
我使用了下面的代码但没有用。
我使用以下命令将文件夹路径放入 list.txt 文件中
find $_filepath -type d >> folderpathlist.txt
我将路径列表传递给下面的代码以搜索和删除文件或将文件移动到临时文件夹
find folderpathlist.txt -name "abc*" -mtime \+14 >>temp/test/
我如何实现这种情况?
你要查找文件:-type f
以 abc.txt 开头:-name "abc.txt*"
14 天前:-mtime +14
并将它们移动到一个目录:-exec mv {}/tmp\;
并查看移动的内容:-print
所以最后的命令是:
找到 . -type f -name "abc.txt*"-mtime +14 -exec mv {}/tmp\; -打印
根据需要调整目录。
注意mtime是修改时间。所以自上次对其进行修改以来已有 14 天。
注意 2:-exec
中的 {}
被找到的每个文件名替换。
注3:\;
表示-exec
里面的命令终止
注意 4:无论如何,find
都会递归到子目录中。无需列出目录并再次循环。
我是一名优秀的程序员,十分优秀!