Jak rekursywnie znaleźć wszystkie pliki w bieżącym i podfolderach w oparciu o dopasowanie symboli wieloznacznych w systemie Linux
Przechodzenie przez drzewo katalogów w celu zlokalizowania plików jest powszechną operacją wykonywaną przez większość oprogramowania do zarządzania systemami plików. To narzędzie ma postać poleceń wiersza poleceń w większości systemów operacyjnych. W tym artykule dowiesz się, jak znaleźć pliki za pomocą funkcji Wildcard Matching w systemie operacyjnym Linux.
Rekurencyjne wyszukiwanie plików w drzewie katalogów
Korzystanie z znajdź polecenie byłby przeznaczony do wykonania zadania. Polecenie „s” służy do wyszukiwania plików w hierarchii katalogów. Strona pomocy polecenia find wygląda następująco:
Polecenie find i przełącznik -name wyszukają żądany plik w katalogu. Przełącznik udostępnia nazwę (lub wzorzec) polecenia find, na które należy zwrócić uwagę. Dlatego ostatecznym poleceniem byłoby
find -name 'Re_Pattern'
W rezultacie zostanie wyświetlony dowolny plik zawierający w nazwie Re_Pattern. Wzorzec może zawierać znaki literału lub sekwencję wyrażeń wieloznacznych. Dwa symbole wieloznaczne używane w takich wzorach to:
* => Dowolny znak dowolną liczbę razy (może nawet nie występować)
? => Powinien być obecny jeden znak
Katalog, w którym będą wykonywane operacje to:
Katalog zawierający niektóre pliki i podkatalogi
Dla uproszczenia podkatalogi są puste. Dlatego każdy wygenerowany efekt będzie widoczny tylko w pliku w tym katalogu. Plikiem, który będzie wyszukiwany w katalogu, będzie Apple, dla którego polecenie będzie brzmieć:
find -name 'apple'
Ponieważ tylko jeden plik w katalogu miał nazwę apple, na wyjściu została wyświetlona tylko 1 nazwa. Ale jeśli dodasz do niego symbol wieloznaczny, taki jak * (gwiazdka):
find -name '*apple*'
otrzymaliśmy wynik wszystkich plików zawierających w nazwie jabłko. Podobnie można zastosować kombinację takich symboli wieloznacznych. Były. Jeśli chcemy uzyskać wszystkie pliki, które mają 4 znaki w nazwie, polecenie będzie wyglądać:
find -name '????'
Dlatego też, używając tych dwóch symboli wieloznacznych, można utworzyć tablicę wzorców rozpoznawania kilku nazw plików. Polecenie find zawiera inne przełączniki, które pozwalają na większe usprawnienie wyników.