小编Kri*_*ris的帖子

在变量中找到具有文件名模式的 xargs rm

像这样的命令:

find /directory -type f -name "*.txt" -print | xargs rm
Run Code Online (Sandbox Code Playgroud)

删除.txt目录和子目录中的每个文件,就可以了。但是,如果我们为文件扩展名创建一个变量或数组,然后放入find,例如,

TXT=(*.txt)
for ii in ${TXT[@]}; do
  find /directory -type f -name $TXT -print | xargs rm
done
Run Code Online (Sandbox Code Playgroud)

此命令不会删除.txt子目录中的文件。为什么?如何更改第二个代码以删除子目录中的文件?

PS:我使用了一个数组,因为我有多个文件扩展名。

bash find rm

3
推荐指数
1
解决办法
745
查看次数

标签 统计

bash ×1

find ×1

rm ×1