Linux znajduje folder w podfolderach


19

Próbuję znaleźć katalog o nazwie 480debugerrorzagnieżdżonej w katalogach potomnych. Nie znam dokładnej ścieżki ani nawet jeśli mam dokładną pisownię katalogu, który chcę znaleźć.

Czy istnieje polecenie systemu Linux, aby znaleźć katalogi z danym prefiksem lub sufiksem, na przykład katalogi o nazwie „debugowanie” lub „błąd debugowania”, z nieznanym prefiksem lub sufiksem?


2
Możesz spróbować locate(lokalizuje pliki) lub find(wyszukuje pliki).
miku

znajdź -typ f-nazwa * ummy ... ale nie dostań

3
Potrzebujesz -typ d . fwyszukuje pliki
thkala

Odpowiedzi:


16

find jest to, czego potrzebujesz:

$ find -type d -name '*debugerror*'

lub

$ find -type d -name '480debugerror'

jeśli masz pewność co do nazwy folderu.



1
locate -i "480debugerror"

sprawdzi bazę danych, która zawiera listę wszystkich plików zindeksowanych na twoim komputerze. Często mam takie scenariusze, więc przeprowadzam wyszukiwania takie jak:

locate -i "debug" | grep -i "log"

który znajduje wszystkie pliki, które mają na swojej ścieżce (niezależnie od wielkości liter [to właśnie oznacza -i]) „debugowanie” i „rejestrowanie” (w przypadku, gdy nie wiesz, | grepoznacza to wyszukiwanie w wynikach, które lokalizują)

Zaletą korzystania z locate over find jest to, że locate będzie generować dane wyjściowe znacznie szybciej (ponieważ tylko sprawdza bazę danych), ale jeśli plik / folder nie zostanie zindeksowany, to niczego nie znajdzie. (aby zaktualizować bazę danych, której możesz użyć sudo updatedb)


Tylko jeśli masz slocatezainstalowany. Niektóre środowiska produkcyjne nie :-(
Zsolt Botykai

To prawda, ale jeśli jest opcja, powiedziałbym, że lepiej jest znaleźć ...

1

W bash

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/

przeszukuje rekurencyjnie katalogi o nazwach zawierających 480, debugowanie lub błąd.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.