这是我正在处理的目录内容:
它确切地做了你想要它做的事情(即,文件
你认为这是为什么呢?
misha@hp-laptop:~/work/c/5$ ls -l
total 8
-rw-rw-r-- 1 misha misha 219 May 20 15:37 demo.c
drwxrwxr-x 2 misha misha 4096 May 20 16:07 folder
-rw-rw-r-- 1 misha misha 0 May 20 16:06 test
现在我想要从这个目录中删除除了文件demo.c
之外的所有内容。下面是我想出来的命令:
rm -r !(demo.c)
find . ! \( -name demo.c -o -name . \) -exec rm -Rf {} \;
它确切地做了你想要它做的事情(即,文件
test
和目录folder
被删除了),但同时也显示了以下错误信息:find: `./folder': No such file or directory
你认为这是为什么呢?
find . -depth ...
命令,否则 find 命令会尝试进入已删除的 ./folder 文件夹。 - Stefan Hegny