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

Z Milan Kerslager
Přejít na: navigace, hledání
(Doplnění)
(Příklady: doplnění)
Řádka 28: Řádka 28:
 
  ls /bin/[bcd]*        # vypíše z adresáře ''/bin'' vše začínající na ''b'', ''c'' nebo ''d''
 
  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-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 -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 /bin/[^abc]*      # vypíše z adresáře ''/bin'' vše, co nezačíná na ''a'', ''b'' nebo ''c''
Řádka 33: Řá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
  
 
== Externí odkazy ==
 
== Externí odkazy ==

Verze z 25. 11. 2009, 10:58

Ž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