Gimp ile Renk Düzeltme - Tilkinin Dilinden
Gimp ile Renk Düzeltme - Tilkinin Dilinden
Gimp ile Renk Düzeltme - Tilkinin Dilinden
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 [AZ]*.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 />
?(patternlist) 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 />
*(patternlist) 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 />
+(patternlist) 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 />
@(patternlist) Matches one of the given patterns //gir<strong>ile</strong>n numune<br />
karakterlerinin birini karşılaştırır<br />
!(patternlist) 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 />
?(numunelistesi) (...|...)?<br />
*(numunelistesi) (...|...)*<br />
+(numunelistesi) (...|...)+<br />
@(numunelistesi) (...|...) [@ bir Sıradan İfade değildir]<br />
!(numunelistesi) "!" Sıradan ifadelerde negatif eylemleri belirtmede<br />
kullanılmaktadır.<br />
Evet, "@" karakteri haricindek<strong>ile</strong>r için nedenini görebilirsiniz.. 23