поиск по ряду каталогов bash-скрипта - PullRequest
0 голосов
/ 17 декабря 2009

Я написал (пытался) этот небольшой скрипт bash для поиска по ряду каталогов.

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

Этот скрипт просматривает каталоги, начинающиеся с "a" - "c", для поиска "blarg". Это только один уровень глубины. Как я могу сделать так, чтобы он прошел через все каталоги, с которыми он мог столкнуться, а не только в корень каталогов с начальной буквой.

Кроме того, этот вопрос должен быть задан здесь в stackoverflow или суперпользователь будет более подходящим?

Спасибо

Ответы [ 3 ]

3 голосов
/ 17 декабря 2009

если у вас Bash 4.0, вы можете попробовать globstar

#!/bin/bash
shopt -s nullglob
shopt -s globstar
for file in [ac]*/**/blarg
do 
   echo $file
done
2 голосов
/ 17 декабря 2009

в командной строке это сделает вашу цель. Так зачем искать скрипт?

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

если вам все еще нужен скрипт:

#!/bin/bash
shopt -s nullglobi
for file in `find ./[ac]*/ -name "blarg"`
do
echo $file
done
0 голосов
/ 17 декабря 2009
echo `find blarg`

Замените эту строку, и вы найдете все файлы с именем [ac] * с именем blarg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...