搜索一系列目录bash脚本

时间:2009-12-17 03:56:29

标签: linux bash command-line scripting

我已经编写(尝试过)这个小的bash脚本来搜索一系列目录。

#!/bin/bash
shopt -s nullglob
for file in [ac]*/blarg
do 
   echo $file
   done

此脚本搜索以“a”到“c”开头的“blarg”目录。 它只有一个深度。如何让它逐步浏览它可能遇到的所有目录,而不仅仅是带有起始字母的目录的根目录。

此外,这个问题是应该在stackoverflow上进行还是超级用户更合适?

由于

3 个答案:

答案 0 :(得分:3)

如果你有Bash 4.0,你可以试试globstar

#!/bin/bash
shopt -s nullglob
shopt -s globstar
for file in [ac]*/**/blarg
do 
   echo $file
done

答案 1 :(得分:2)

命令行上的

将实现您的目的。那么为什么要去编写脚本?

find ./[ac]*/ -name "blarg"

如果你还需要一个脚本:

#!/bin/bash
shopt -s nullglobi
for file in `find ./[ac]*/ -name "blarg"`
do
echo $file
done

答案 2 :(得分:0)

echo `find blarg`

替换该行,您将找到名为blarg的[ac] *下的所有文件。