09.01.2013 Views

Gimp ile Renk Düzeltme - Tilkinin Dilinden

Gimp ile Renk Düzeltme - Tilkinin Dilinden

Gimp ile Renk Düzeltme - Tilkinin Dilinden

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Bash Extended Globbing | Mitch Frazier SUD<br />

Bash dilinde joker karakterler pathname expansion (hedef isim<br />

genleşmesi) olarak adlandırılırlar. pathname expansion'larda bazen<br />

globbing (topaklama) den<strong>ile</strong>n işlemi ifade etmektedirler. pathname<br />

expansion'lar komut içerisinde kullanıldıklarında "*", "?", ve "[...]"<br />

karakterlerini genişletirler, örneğin:<br />

Kod:<br />

$ ls *.jpg # Bütün JPEG dosyalarını listeler<br />

$ ls ?.jpg # Tek karaktere sahip (isminde) bütün JPEG dosyalarını<br />

listeler (eg a.jpg, 1.jpg)<br />

$ rm [A­Z]*.jpg # Adı büyük harflerden oluşan tüm JPEG dosyalarını<br />

s<strong>ile</strong>r<br />

pathname expansion hakkında genel olarak anlaşılmayan nokta; bu<br />

eylemin işletim sistemi veya çalıştırılan program tarafından değil, BASH<br />

dili tarafından gerçekleştiriliyor olmasıdır. Çalıştırılan uygulama joker<br />

karakterleri asla görmez, BASH uygulamayı çalıştırmadan önce<br />

expansion'ları komut satırında kullanır. exec() ve benzer fonksiyonlar<br />

kullandığınız kodlar yazdığınız zamanlar hariç, bu nadiren önem arz<br />

eden bir durumdur. Uygulamayı BASH aracılığı <strong>ile</strong> çalıştırmıyorsanız,<br />

exec() fonksiyonuna yönlendirdiğiniz komut satırında yer alan joker<br />

karakterler genişletilmeyecektir.<br />

Fakat BASH tarafından desteklenen joker karakter formları bu kadarla<br />

sınırlı değildir. Bu diğer formlar Extended Globbing (Harici Topaklama)<br />

olarak adlandırılırlar ve bu formlar kullanılmadan önce aşağıdaki betik <strong>ile</strong><br />

aktifleştirilmelidir:<br />

Kod:<br />

$ shopt ­s extglob<br />

harici topaklamanın (extended globbing) BASH kabuğunun man (manual­<br />

klavuz) dosyalarındaki tanımı:<br />

Kod:<br />

?(pattern­list) Matches zero or one occurrence of the given patterns<br />

//numune karakterlerinin sıfır veya bir adet karakter değişikliğini<br />

karşılaştırır<br />

*(pattern­list) Matches zero or more occurrences of the given patterns<br />

//numune karakterlerinin sıfır veya daha çok sayıda karakter değişikliğini<br />

karşılaştırır<br />

+(pattern­list) Matches one or more occurrences of the given patterns<br />

//numune karakterlerinin bir veya daha çok sayıda karakter değişikliğini<br />

karşılaştırır<br />

@(pattern­list) Matches one of the given patterns //gir<strong>ile</strong>n numune<br />

karakterlerinin birini karşılaştırır<br />

!(pattern­list) Matches anything except one of the given patterns<br />

//gir<strong>ile</strong>n numune karakterleri haricinde herşeyi karşılaştırır<br />

Burada numune karakterleri <strong>ile</strong> kasted<strong>ile</strong>n "|" (pipe symbol ­ boru<br />

sembolü) karakterleri <strong>ile</strong> ayrılmış karakter listesidir. Sıradan ifadelerle<br />

(Regular Expressions) karşılaştırarak neden rehber karakter<br />

kullanıldığını anlayabilirsiniz:<br />

Kod:<br />

[b]Bash Sıradan İfadeler (Regular Expression)[/b]<br />

?(numune­listesi) (...|...)?<br />

*(numune­listesi) (...|...)*<br />

+(numune­listesi) (...|...)+<br />

@(numune­listesi) (...|...) [@ bir Sıradan İfade değildir]<br />

!(numune­listesi) "!" Sıradan ifadelerde negatif eylemleri belirtmede<br />

kullanılmaktadır.<br />

Evet, "@" karakteri haricindek<strong>ile</strong>r için nedenini görebilirsiniz.. 23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!