Jak mogę rekurencyjnie wyszukiwać nazwy katalogów z określonym ciągiem, w przypadku gdy ciąg ten jest tylko częścią nazwy katalogu?
Na przykład: nazwa katalogu to „8.0.3-99966_en”, ale chcę rekurencyjnie wyszukiwać katalogi z ciągiem „99966”.
Możesz użyć find
polecenia:
find YOUR_STARTING_DIRECTORY -type d -name "*99966*" -print
Przykład:
find ~ -type d -name "*99966*" -print
powinien znaleźć wszystkie katalogi ( -type d
) zaczynające się od katalogu domowego ( ~
), które mają nazwy zawierające ciąg „99966” ( -name "*99966*"
) i wypisać je ( -print
).
Aby uniknąć wszystkich wyników „Odmowa zezwolenia”, możesz użyć:
Aby uzyskać więcej informacji, zobacz ten artykuł na temat urządzenia zerowego i ten na standardowych strumieniach .
źródło
Możesz przesłać dane wyjściowe, aby
grep
wyróżnić nazwę kataloguCoś w stylu
/
Wskazuje, aby przeszukać cały komputerźródło
Łatwym sposobem na to jest użycie
find | egrep string
. Jeśli trafień jest zbyt wiele, użyj-type d
flagi do znalezienia. Uruchom polecenie na początku drzewa katalogów, które chcesz przeszukać, w przeciwnym razie będziesz musiał podać katalog jako argumentfind
.Innym sposobem na to jest użycie
ls -laR | egrep ^d
.A
locate
komenda jest również wyposażony w poręczny:locate string
źródło