像这样的命令:
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:我使用了一个数组,因为我有多个文件扩展名。