删除 *.c 以外的任何内容

Delete anything other than *.c

如何删除当前目录中除 *.c 个文件之外的所有文件?

例如,如果我这样做 rm *.c 它会删除所有 .c 文件,但不会删除其他文件。

我只想反其道而行之

您可以使用 find:

find . -not -name *.c -delete

以上版本将从当前目录及以下目录中删除任何非 *.c 格式的内容。

如果你只想删除当前目录(而不是下面)中的所有非 *.c 文件,你可以使用开关:-depth 1

find . -depth 1 -not -name *.c -delete