我有一堆文件夹,比如/test/
和/test1/
,它们都包含文件夹/x/
和/x/
一些我不想要的随机文件。我想递归遍历所有文件夹并进入/x/
并删除所有内容。
但我似乎无法弄清楚如何仅删除/x/
文件夹内的内容。
答案1
我将使用 find 命令并在表达式中使用 -exec 选项。
首先测试一下,确保它能找到正确的目录,并且不会出现误报。切换到您想要启动的目录,然后输入:
find . -type d -iname x
该命令将对当前工作目录中名为“x”的所有目录进行不区分大小写的搜索,并向下递归。如果输出正确,则可以通过执行以下命令删除这些目录中的文件:
find . -type d -iname x -exec rm {}/* \+
这将仅删除名为“x”的目录中包含的文件。如果您还想删除“x”目录,请使用以下命令:
find . -type d -iname x -exec rm -Rf {} \+