10 praktičnih primjera korištenja zamjenskih znakova za podudaranje naziva datoteka u Linuxu
Zamjenski znakovi (koji se nazivaju i meta znakovi) su simboli ili posebni znakovi koji predstavljaju druge znakove. Možete ih koristiti s bilo kojom naredbom kao što je naredba ls ili naredba rm za popis ili uklanjanje datoteka koje odgovaraju zadanom kriteriju, receptivno.
Pročitajte također: 10 korisnih praktičnih primjera lančanih operatora u Linuxu
Ove zamjenske znakove interpretira ljuska i rezultati se vraćaju naredbi koju pokrenete. U Linuxu postoje tri glavna zamjenska znaka:
- Zvjezdica
(*)
– odgovara jednom ili više pojavljivanja bilo kojeg znaka, uključujući nijedan znak. - Upitnik
(?)
– predstavlja ili odgovara jednom pojavljivanju bilo kojeg znaka. - Znakovi u zagradama
([ ])
– odgovara svakom pojavljivanju znaka u uglastim zagradama. Moguće je koristiti različite vrste znakova (alfanumerički znakovi): brojke, slova, drugi posebni znakovi itd.
Morate pažljivo odabrati koji ćete zamjenski znak koristiti za podudaranje ispravnih naziva datoteka: također ih je moguće sve kombinirati u jednoj operaciji kao što je objašnjeno u primjerima u nastavku.
Kako uskladiti nazive datoteka pomoću zamjenskih znakova u Linuxu
U svrhu ovog članka, koristit ćemo sljedeće datoteke za demonstraciju svakog primjera.
createbackup.sh list.sh lspace.sh speaker.sh
listopen.sh lost.sh rename-files.sh topprocs.sh
1. Ova naredba odgovara svim datotekama čiji nazivi počinju s l
(što je prefiks) i završavaju s jednim ili više pojavljivanja bilo kojeg znaka.
ls -l l*
2. Ovaj primjer pokazuje drugu upotrebu *
za kopiranje svih naziva datoteka s prefiksom users-0
i završava s jednim ili više pojavljivanja bilo kojeg znaka.
mkdir -p users-info
ls users-0*
mv -v users-0* users-info/ # Option -v flag enables verbose output
3. Sljedeća naredba odgovara svim datotekama čiji nazivi počinju s l
nakon čega slijedi bilo koji pojedinačni znak i završavaju s st.sh
(što je sufiks ).
ls l?st.sh
4. Naredba u nastavku odgovara svim datotekama čiji nazivi počinju s l
iza kojeg slijede bilo koji od znakova u uglatim zagradama, ali završavaju s st.sh
.
ls l[abdcio]st.sh
Kako kombinirati zamjenske znakove za podudaranje naziva datoteka u Linuxu
Možete kombinirati zamjenske znakove za izradu složenih kriterija podudaranja imena datoteke kao što je opisano u sljedećim primjerima.
5. Ova naredba odgovara svim nazivima datoteka s bilo koja dva znaka iza kojih slijedi st
, ali završava s jednim ili više znakova.
ls
ls ??st*
6. Ovaj primjer odgovara nazivima datoteka koji počinju s bilo kojim od ovih znakova [clst]
i završavaju s jednim ili više pojavljivanja bilo kojeg znaka.
ls
ls [clst]*
7. U ovim primjerima, samo nazivi datoteka koji počinju s bilo kojim od ovih znakova [clst]
nakon čega slijedi jedan od ovih [io]
i zatim bilo koji pojedinačni znak, iza kojeg slijedi t
i na kraju će biti navedeno jedno ili više pojavljivanja bilo kojeg znaka.
ls
ls [clst][io]?t*
8. Ovdje će se ukloniti nazivi datoteka s prefiksom s jednim ili više pojavljivanja bilo kojeg znaka, iza kojih slijede slova tar
i završavaju s jednim ili više pojavljivanja bilo kojeg znaka.
ls
rm *tar*
ls
Kako uskladiti skup znakova u Linuxu
9. Sada pogledajmo kako odrediti skup znakova. Razmotrite donje nazive datoteka koje sadrže informacije o korisnicima sustava.
ls
users-111.list users-1AA.list users-22A.list users-2aB.txt users-2ba.txt
users-111.txt users-1AA.txt users-22A.txt users-2AB.txt users-2bA.txt
users-11A.txt users-1AB.list users-2aA.txt users-2ba.list
users-12A.txt users-1AB.txt users-2AB.list users-2bA.list
Ova naredba će odgovarati svim datotekama čije ime počinje s users-i
, nakon čega slijedi broj, malo slovo ili broj, zatim broj i završava s jednim ili više pojavljivanja bilo kojeg znaka.
ls users-[0-9][a-z0-9][0-9]*
Sljedeća naredba odgovara nazivima datoteka koji počinju s users-i
, nakon čega slijedi broj, malo ili veliko slovo ili broj, zatim broj i završava s jednim ili više pojavljivanja bilo kojeg znaka.
ls users-[0-9][a-zA-Z0-9][0-9]*
Ova naredba koja slijedi odgovarat će svim nazivima datoteka koji počinju s users-i
, nakon čega slijedi broj, malo ili veliko slovo ili broj, zatim malo ili veliko slovo i završava s jednim ili više pojavljivanja bilo koji lik.
ls users-[0-9][a-zA-Z0-9][a-zA-Z]*
Kako negirati skup znakova u Linuxu
10. Također možete negirati skup znakova pomoću simbola !
. Sljedeća naredba ispisuje sve nazive datoteka koji počinju s users-i
, nakon čega slijedi broj, bilo koji valjani znak naziva datoteke osim broja, zatim malo ili veliko slovo i završava s jednim ili više pojavljivanja bilo kojeg lik.
ls users-[0-9][!0-9][a-zA-Z]*
To je sve za sada! Ako ste isprobali gornje primjere, sada biste trebali dobro razumjeti kako zamjenski znakovi funkcioniraju za podudaranje naziva datoteka u Linuxu.
Također biste mogli pročitati sljedeće članke koji pokazuju primjere korištenja zamjenskih znakova u Linuxu:
- Kako izdvojiti Tar datoteke u određeni ili drugi direktorij u Linuxu
- 3 načina za brisanje svih datoteka u direktoriju osim jedne ili nekoliko datoteka s ekstenzijama
- 10 korisnih savjeta za pisanje učinkovitih Bash skripti u Linuxu
- Kako koristiti Awk i regularne izraze za filtriranje teksta ili niza u datotekama
Ako imate nešto za podijeliti ili postaviti pitanje, upotrijebite obrazac za komentare u nastavku.