Jak rekursywnie znaleźć wszystkie pliki w bieżącym i podfolderach w oparciu o dopasowanie symboli wieloznacznych w systemie Linux

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.