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

Z Milan Kerslager
Přejít na: navigace, hledání
(Reorganizace)
(+link)
Řádka 21: Řádka 21:
 
|}
 
|}
  
=== Příklady ===
+
== Příklady ==
 
  ls /bin/*sh          # vypíše z adresáře ''/bin'' vše, co končí na ''sh''  
 
  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/[bcd]*        # vypíše z adresáře ''/bin'' vše začínající na ''b'', ''c'' nebo ''d''
Řádka 29: Řádka 29:
 
  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''
 +
 +
== Externí odkazy ==
 +
* http://docs.linux.cz/programming/interpreted/bashdoc-1.4/bashs38.html
 +
* http://www.abclinuxu.cz/blog/firefox_bal/2008/10/bash-a-pseudoznaky-pattern-matching

Verze z 27. 10. 2009, 09:20

Ž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)
[^abc] Žádný z uvedených znaků (cokoliv kromě a, b nebo c)
 {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 -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

Externí odkazy