我用了大半个下午的时间来试图弄清楚这一点。
答案1
删除当前目录下名为 的任何目录下的所有文件,node_modules
但保留node_modules
:
find . -path '*/node_modules/*' -delete
(这已使用 GNU 进行了测试find
,但我预计 BSD/OSX 的find
行为也会类似。)
例子
让我们创建一个node_modules
包含一些文件的目录:
$ mkdir -p node_modules/dir{1..3}
$ touch node_modules/file{1..3}
现在,让我们看看此find
命令返回哪些文件:
$ find . -path '*/node_modules/*'
./node_modules/dir3
./node_modules/dir1
./node_modules/file3
./node_modules/file2
./node_modules/file1
./node_modules/dir2
这显示文件里面 node_modules
但不是目录node_modules
本身。因此,我们可以用以下命令删除文件:
$ find . -path '*/node_modules/*' -delete
$ ls
node_modules