我想编写一个脚本,它接受一个文件夹并删除该文件夹中子文件夹中的所有文件。
例如:
- 美国广播公司
- a.txt
- b.txt
- 效果
- e.txt
- x.txt
脚本运行时,应该删除 a.txt、b.txt 和 e.txt 而不是 x.txt(因为它不在文件夹中)。
最佳答案
编写 bash 脚本时,首先要决定的是要使用哪个命令。
find
命令以递归方式返回文件夹中的所有文件。
找到 ${dir} -name "*.txt"-delete
上述命令在dir(存储在变量中的目录)中搜索以.txt
结尾的文件并删除它们。
但是,如果您只想在子目录中查找文件怎么办?
你可以使用:
找到 ${dir}/*/-name "*.txt"-delete
注意我们如何添加 /*/
来表示查找该文件夹内的所有文件夹。
您还可以添加检查 -type f
以确认我们正在删除文件而不是其他任何内容。
关于bash - 在子文件夹 bash 中查找文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47079704/