【发布时间】:2019-09-22 19:14:53
【问题描述】:
我正在尝试编写一个 bash 脚本,该脚本将遍历包含其他一些目录的目录,删除其中的大部分及其内容,在一种情况下,删除其中的所有文件和目录,除了最近的文件和目录修改日期。这是目录结构:
> 0001_Job_X
> fonts
> images
> MS Documents
> Design Files
> Web Files
> 0002_Job_Y
> fonts
> images
> MS Documents
> Design Files
> Web Files
等等...(有很多)。我的目标是删除字体、MS 文档和 Web 文件,理想情况下,删除设计文件的所有内容,除了一个具有最近修改日期的文件。
这是我目前编写的脚本:
for d in ./*; do
cd "$d"
rm -rf ./fonts
rm -rf ./MS\ Documents
rm -rf ./Web\ Files
cd ..
done
这可行,但我不知道如何删除设计文件的所有内容,除了具有最近修改日期的一个文件。有人可以帮我吗?谢谢!
【问题讨论】:
-
是否保证设计文件中只有文件?我的意思是里面没有目录,对吧?
-
那里可能有一些目录,但我只对保留一个始终位于设计文件目录顶层的文件感兴趣。那里的所有目录都可以删除,无需检查。