在Linux终端中,如何删除一个或两个目录中的所有文件

在Linux终端中,如何从一个或两个文件夹中删除所有文件?

例如.

我有一个目录和一个.txt文件中的100个图像文件.
我想删除除.txt文件之外的所有文件.

最佳答案
从目录中列出文件,过滤掉不包含“file-to-keep”的所有文件,并删除列表中剩余的所有文件.

ls | grep -v 'file-to-keep' | xargs rm

为避免文件名中的空格问题(请记住不要在文件名中使用空格),请使用find和-0选项.

find 'path' -maxdepth 1 -not -name 'file-to-keep' -print0 | xargs -0 rm

或者混合两者,使用grep选项-z来管理来自find的-print0名称

转载注明原文:在Linux终端中,如何删除一个或两个目录中的所有文件 - 代码日志