zsh'de dosya se├žim operat├Ârleri

2014-03-02

zsh, dosya se├žmek i├žin bash'ten biraz daha geli┼čmi┼č operat├Ârlere sahip. Bunlar sayesinde bir defada, bir dizindeki dosyalar─▒n tamam─▒na eri┼čip, onlar ├╝zerinde i┼člemler yapmak m├╝mk├╝n. Burada k─▒sa baz─▒ ├Ârnekler verece─čim.

Bir dizindeki t├╝m dosyalar :: ls *

Bulundu─čumuz

: ls **

Bulundu─čumuz

: ls */**(.mw-2)

Bulundu─čumuz

: ls */**(.Lm+100)

Bulundu─čumuz

: ls */**(.R)

/etc

: ls /etc/**(.W)

/etc

: =ls etc/**(.Wmw-1)

zsh'in sa─člad─▒─č─▒ bu gibi se├ženeklerin yan─▒nda, dosya ad─▒n─▒ par├žalamak da kolay . Misalen dosyan─▒n eklentiden ├Ânceki k─▒sm─▒n─▒ almak i├žin *(:r) yaz─▒yoruz. Dizindeki jpg dosyalar─▒ ImageMagick'in convert program─▒yla ayn─▒ isimli png dosyalara ├ževirmek ┼č├Âyle m├╝mk├╝n mesela:

for f in **/*.jpg(.) ; do
   convert ${f:r}.jpg ${f:r}.png
done

Burada anlat─▒lanlar─▒ find yoluyla yapmak da m├╝mk├╝n ancak ├žok daha uzun s├╝rebiliyor. Bilhassa dosya adlar─▒n─▒ par├žalamak, d├Ân├╝┼čt├╝rmek gibi i┼člemleri yaparken zsh'in nimetleri ├žok. Tek sat─▒rl─▒k bir operasyonla ├žok g├╝├žl├╝ baz─▒ d├Ân├╝┼č├╝mler yapabilmek m├╝mk├╝n.