/ / Jak znaleźć plik rekurencyjnie i współbieżnie we wszystkich podfolderach w bash - bash, search, recursion, concurrency

Jak znaleźć plik rekurencyjnie i współbieżnie we wszystkich podfolderach w bash - bash, search, recursion, concurrency

Zastanawiam się, jak przeszukać wszystkie podfolderyrekurencyjnie i współbieżnie w bashu. Skrypt najpierw wyświetla wszystkie podkatalogi, a następnie przechodzi do każdego podfolderu jednocześnie. Następnie, jeśli w danym podkatalogu znajdują się podfoldery, rekursywnie i jednocześnie przechodzimy do subdireoctories.

Nie mogę używać find.

Mogę napisać jakąś funkcję rekursywną, która trafia do wszystkich podfolderów, ale nie wiem jak zrobić to współbieżnie: /

Czy masz jakiś pomysł / wskazówki, jak rozwiązać ten problem?

Odpowiedzi:

2 dla odpowiedzi № 1

Oto funkcja w bashu, która wyszukuje plik:

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
}

Możesz również pisać if test "${p##*/}" = "$fname" ... aby sprawdzić, czy znalazłeś plik.