【发布时间】:2019-12-04 14:31:34
【问题描述】:
假设我有一个目录,其中包含:
.\Folder\Folder1\exe\a.exe
.\Folder\Folder1\dll\b.dll
.\Folder\Folder1\txt\c.txt
.\Folder\Folder2\exe\a.exe
.\Folder\Folder2\dll\b.dll
.\Folder\Folder2\txt\c.txt
.
.
.
现在我想递归地从 .\Folder\ 中删除,除了所有 *.txt,这样:
.\Folder\Folder1\exe\
.\Folder\Folder1\dll\
.\Folder\Folder1\txt\c.txt
.\Folder\Folder2\exe\
.\Folder\Folder2\dll\
.\Folder\Folder2\txt\c.txt
.
.
.
任何人都可以建议使用 rm 来完成这项工作的命令吗?谢谢!
我试过了:
cd .\Folder
shopt -s extglob
rm -rf !("*.txt")
但它会删除 .\Folder 中的所有文件和目录
【问题讨论】:
标签: rm