BASH: Žolíkové znaky: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
(Příklady: doplnění)
m (Příklady: fix)
Řádka 34: Řádka 34:
 
  ls /{bin,sbin}/c*    # vypíše z adresářů ''/bin'' a ''/sbin'' vše, co začíná na ''c''
 
  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 /{,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
+
  ls {,/usr}/bin/z*    # vypíše z adresářů /bin a /usr/bin vše, co začíná na písmeno ''z''
  
 
== Externí odkazy ==
 
== Externí odkazy ==

Verze z 25. 11. 2009, 11:06

Ž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/z*     # vypíše z adresářů /bin a /usr/bin vše, co začíná na písmeno z

Externí odkazy