10 praktycznych przykładów wykorzystujących wieloznaczne w celu dopasowania nazw plików w Linux

10 praktycznych przykładów wykorzystujących wieloznaczne w celu dopasowania nazw plików w Linux

Dzikie karty (zwane także znaki meta) to symbole lub znaki specjalne, które reprezentują inne znaki. Możesz ich użyć z dowolnym poleceniem, takim jak polecenie LS lub polecenie rm Aby wymienić lub usunąć pliki pasujące do danych kryteriów, receptycznie.

Przeczytaj także: 10 przydatnych praktycznych przykładów operatorów łączenia w Linux

Te dzikie kary są interpretowane przez powłokę, a wyniki są zwracane do uruchomionego polecenia. W Linux są trzy główne dzikie karty:

  • Gwiazdka (*) - pasuje do jednego lub więcej wystąpień dowolnego charakteru, w tym bez charakteru.
  • Znak zapytania (?) - reprezentuje lub pasuje do pojedynczego występowania dowolnego znaku.
  • Postacie w nawiasach ([]) - odpowiada wszelkim wystąpieniu charakteru zamkniętym w kwadratowych nawiasach. Możliwe jest użycie różnych rodzajów znaków (znaki alfanumeryczne): liczby, litery, inne znaki specjalne itp.

Musisz uważnie wybrać, która Wildcard użyje do dopasowania prawidłowych nazw plików: Możliwe jest również połączenie ich w jednej operacji, jak wyjaśniono w poniższych przykładach.

Jak dopasować nazwy plików za pomocą wieloznacznych kart w Linux

Do celów tego artykułu użyjemy następujących plików, aby zademonstrować każdy przykład.

Utwórz kopię zapasową.Lista SH.sh lspace.Głośnik sh.Shistopen.SH Zagubiło się.SH Zmień nazwy.SH Topprocs.cii 

1. To polecenie dopasowuje wszystkie pliki z nazwami zaczynającymi się od L (który jest prefiksem) i kończąc na jednym lub więcej wystąpienia dowolnego charakteru.

$ ls -l l* 
Wypisz pliki z znakiem

2. Ten przykład pokazuje kolejne zastosowanie * Aby skopiować wszystkie nazwy plików Użytkownicy-0 i kończąc na jednym lub więcej wystąpienia dowolnego charakteru.

$ mkdir -p użytkownicy-info $ ls Użytkownicy-0* $ mv -v Użytkownicy-0* opcja użytkowników-info/ # -v Flaga umożliwia wyjście wetonowe 
List i skopiuj wszystkie pliki

3. Poniższe polecenie pasuje do wszystkich plików z nazwami zaczynającymi się od L a następnie dowolny pojedynczy znak i kończy się St.cii (który jest sufiksem).

$ ls l?St.cii 
Dopasuj plik do nazwy postaci

4. Poniższe polecenie pasuje do wszystkich plików z nazwami, zaczynając od L a następnie którąkolwiek z postaci w skraju kwadratowym, ale kończąc St.cii.

$ ls l [Abdcio] st.cii 
Dopasowywanie plików do nazwisk

Jak połączyć dzikie karty, aby dopasować nazwy plików w Linux

Możesz połączyć wieloznaczne, aby zbudować złożone kryteria dopasowywania nazwy pliku, jak opisano w następujących przykładach.

5. To polecenie będzie pasować do wszystkich nazw plików prefiksowych z dowolnymi dwoma postaciami, a następnie St ale kończąc na jednym lub więcej wystąpienia dowolnego charakteru.

$ ls $ ls ??St* 
Dopasuj nazwy plików z prefiksem

6. Ten przykład pasuje do nazw plików, zaczynając od dowolnej z tych znaków [Clst] i kończąc na jednym lub więcej wystąpieniu dowolnego charakteru.

$ ls $ ls [clst]* 
Dopasuj pliki do znaków

7. W tych przykładach tylko nazwy plików zaczynające się od dowolnego z tych znaków [Clst] a następnie jeden z nich [io] a potem dowolny pojedynczy znak, a następnie T I na koniec, jedno lub więcej wystąpienia dowolnej postaci zostanie wymienionych.

$ ls $ ls [clst] [io]?T* 
Wypisz pliki z wieloma znakami

8. Tutaj nazwy plików poprzedzone jednym lub więcej wystąpienia dowolnego charakteru, a następnie litery smoła i zakończenie z jednym lub więcej wystąpienia dowolnego znaku zostanie usunięte.

$ ls $ rm * tar * $ ls 
Usuń pliki z literami znaków

Jak dopasować znaki ustawione w Linux

9. Teraz przyjrzyjmy się, jak określić zestaw znaków. Rozważ poniższe nazwy plików zawierające informacje użytkowników systemu.

Użytkownicy $ LS-111.Wymień użytkowników-1AA.Wymień użytkowników-22a.Wymień użytkowników-2AB.Użytkownicy TXT-2BA.Użytkownicy TXT-1111.Użytkownicy TXT-1AA.Użytkownicy TXT-22a.Użytkownicy TXT-2AB.Użytkownicy TXT-2BA.Użytkownicy TXT-11a.Użytkownicy TXT-1AB.Wymień użytkowników-2AA.Użytkownicy TXT-2BA.Wymień użytkowników-12a.Użytkownicy TXT-1AB.Użytkownicy TXT-2AB.Wymień użytkowników-2BA.lista 

To polecenie będzie pasować do wszystkich plików, których nazwa zaczyna się od Użytkownicy-i, a następnie liczba, litera lub liczba niższa, a następnie liczba i kończy się jednym lub więcej wystąpieniami dowolnego charakteru.

$ LS Użytkownicy-[0-9] [A-Z0-9] [0-9]* 

Następne polecenie pasuje do nazw plików, zaczynając od Użytkownicy-i, a następnie liczba, litera lub liczba dolnej lub górnej, a następnie liczba i kończy się jednym lub więcej wystąpieniami dowolnego znaku.

$ LS Użytkownicy-[0-9] [A-Za-Z0-9] [0-9]* 

To następujące polecenie będzie pasować do wszystkich nazw plików, które zaczynają się od Użytkownicy-i, a następnie liczba, litera lub liczba dolnej lub górnej, a następnie litera dolnej lub górnej skrzynki i kończy się jednym lub więcej wystąpieniami dowolnego znaku.

$ LS Użytkownicy-[0-9] [A-Za-Z0-9] [A-Za-Z]* 
Dopasuj znaki w nazwach plików

Jak negować zestaw znaków w Linux

10. Możesz również negować zestaw znaków za pomocą ! symbol. Poniższe polecenie zawiera wszystkie nazwy plików, począwszy od Użytkownicy-i, a następnie numer, dowolny prawidłowy znak nazywania plików oprócz liczby, a następnie litera dolnej lub górnej i kończy się jednym lub więcej wystąpieniami dowolnego znaku.

Użytkownicy $ ls- [0-9] [!0-9] [a-za-z]* 

To wszystko na teraz! Jeśli wypróbowałeś powyższe przykłady, powinieneś teraz dobrze zrozumieć, jak działają dzikie karty, aby dopasować nazwy plików w Linux.

Możesz także przeczytać następujące artykuły, które pokazują przykłady korzystania z wieloznacznych kart w Linux:

  1. Jak wyodrębnić pliki TAR do określonego lub innego katalogu w Linux
  2. 3 sposoby usuwania wszystkich plików w katalogu oprócz jednego lub kilku plików z rozszerzeniami
  3. 10 Przydatne wskazówki dotyczące pisania skutecznych skryptów bash w Linux
  4. Jak używać AWK i wyrażeń regularnych do filtrowania tekstu lub ciągów w plikach

Jeśli masz coś do podzielenia się lub pytanie (i) do zadaje się, skorzystaj z poniższego formularza komentarza.