Чудя се как да търсим всички подпапкирекурсивно и едновременно в bash. Скриптът изброява първо всички поддиректории и след това отива на всяка подпапка едновременно. След това, ако има подпапки в дадена поддиректория, рекурсивно и едновременно отива в поддиректориите.
Не трябва да използвам намери.
Мога да напиша някаква рекурсивна функция, която отива на всички подпапки, но не знам как да го направя едновременно: /
Имате ли някаква идея / представа как да разрешите този проблем?
Отговори:
2 за отговор № 1Ето функция в bash, която търси файл:
search_file () # dir fname
{
local dir="$1" fname="$2" p
for p in "$dir"/* ; do
if test -d "$p" ; then
search_file "$p" "$fname"
fi
if test "$p" = "$dir/$fname" ; then
echo "$p"
fi
done
}
Можете също да пишете if test "${p##*/}" = "$fname" ...
, за да видите дали сте намерили файла.