使用sudo rm -r时,如何删除除以下文件外的所有文件?

textfile.txt
backup.tar.gz
script.php
database.sql
info.txt

当前回答

我相信你可以使用

rm -v !(filename)

除了文件名,所有其他文件将删除在该目录中,并确保您正在使用它

其他回答

不要直接执行命令,请将所需文件移动到当前目录之外的临时目录。然后使用rm *或rm -r *删除所有文件。

然后移动所需的文件到当前目录。

删除除file.name以外的所有内容:

ls -d /path/to/your/files/* |grep -v file.name|xargs rm -rf

我相信你可以使用

rm -v !(filename)

除了文件名,所有其他文件将删除在该目录中,并确保您正在使用它

只是:

rm $(ls -I "*.txt" ) #Deletes file type except *.txt

Or:

rm $(ls -I "*.txt" -I "*.pdf" ) #Deletes file types except *.txt & *.pdf
rm !(textfile.txt|backup.tar.gz|script.php|database.sql|info.txt)

extglob(扩展模式匹配)需要在BASH中启用(如果它没有启用):

shopt -s extglob