10 praktycznych przykładów wykorzystujących wieloznaczne w celu dopasowania nazw plików w Linux
- 3844
- 286
- Tomasz Szatkowski
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 wetonoweList 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.ciiDopasuj 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.ciiDopasowywanie 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 * $ lsUsuń 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:
- Jak wyodrębnić pliki TAR do określonego lub innego katalogu w Linux
- 3 sposoby usuwania wszystkich plików w katalogu oprócz jednego lub kilku plików z rozszerzeniami
- 10 Przydatne wskazówki dotyczące pisania skutecznych skryptów bash w Linux
- 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.
- « Zainstaluj kompletny serwer pocztowy z Postfix i Webmail w Debian 9
- Jak kontrolować proces Linux za pomocą „Autrace” na CentOS/RHEL »