BASH: Žolíkové znaky

Z Milan Kerslager
Verze z 25. 11. 2009, 10:58, kterou vytvořil Milan.Kerslager (diskuse | příspěvky) (Příklady: doplnění)
Přejít na: navigace, hledání

Žolíkové znaky slouží k tomu, aby nebylo nutné uvádět všechny parametry příkazů explicitně, ale bylo možné použít obecné zadání. Lze například pracovat se všemi soubory s příponou txt nebo se všemi, které vyhovují jiným podmínkám (začínají na určité znaky, obsahují slovo atd.).

Konstrukce Funkce
* Jakékoliv znaky (i žádný znak)
? Jakýkoliv právě jeden znak
[abc] Jeden z uvedených znaků (zde a, b nebo c)
[a-e] Jeden z rozsahu znaků (zde a až e), moderní shelly respektují národní znaky (locale)
[^abc] Žádný z uvedených znaků (cokoliv kromě a, b nebo c), lze též využít rozsah
 {slovo1,slovo2}  Jedno z uvedených slov (zde slovo1 nebo slovo2)

Příklady

ls /bin/*sh           # vypíše z adresáře /bin vše, co končí na sh 
ls /bin/[bcd]*        # vypíše z adresáře /bin vše začínající na b, c nebo d
ls /bin/[a-d]*        # vypíše z adresáře /bin vše začínající na a, b, c nebo d
ls /bin/[a-zA-Z]      # vypíše z adresáře /bin vše začínající na písmeno
ls -d /etc/[ab]*      # vypíše z adresáře /etc vše začínající na a nebo b'
ls /bin/[^abc]*       # vypíše z adresáře /bin vše, co nezačíná na a, b nebo c
ls *{txt,doc}         # vypíše v aktuálním adresáři vše končící na .txt nebo .doc
ls /{bin,sbin}/c*     # vypíše z adresářů /bin a /sbin vše, co začíná na c
ls /{,s}bin/c*        # vypíše z adresářů /bin a /sbin vše, co začíná na c
ls /{,usr}/bin/[0-9]  # vypíše z adresářů /bin a /usr/bin vše, co začíná na číslo

Externí odkazy