此问题已在此处有答案:
Does double asterisk include the current directory?(1个答案)
2小时前关闭
我想循环遍历与模式匹配的文件。它们可以在当前目录或子目录中。
我试过:
for file in **/$_pat*; do
但它只找到子目录中的文件。我也把它放在bashrc中。它适用于ls**/blah*,但在我的bash文件for循环中不起作用
shopt -s globstar
此问题已在此处有答案:
Does double asterisk include the current directory?(1个答案)
2小时前关闭
我想循环遍历与模式匹配的文件。它们可以在当前目录或子目录中。
我试过:
for file in **/$_pat*; do
但它只找到子目录中的文件。我也把它放在bashrc中。它适用于ls**/blah*,但在我的bash文件for循环中不起作用
shopt -s globstar
1条答案
按热度按时间jdgnovmf1#
使用
find
:其中:
-iname
=模式的不区分大小写匹配-type f
=仅搜索常规文件,忽略目录或链接要在循环中使用它:
如果结果中有空格,
for
循环将不起作用,而while
读取每一个while行根据你想做的事情,你可以在find中使用-exec:
其中
{}
将表示匹配的行/文件最后你还需要
;`