[Çözüldü] if koşulunda convert hatası

Başlatan fadime, 27 Ağustos 2012 - 10:29:07

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

fadime

Belli bir tarihden sonraki .jpg dosyalarını belli bir boyut üstündeyse tekrar boyutlandırmak istiyorum.
ls -l *.jpg | awk '{if ($8 >="14:50" && $5 >=83000) convert -resize 640 $9 yeni_$9 }'
Yazmış olduğum kod bu convert yerine print kodunu yazdığımda kodun çalıştığını görüyorum veya convert i tek başına çalıştırdığımda yeni bir dosya elde ediyorum ama ama bu şekilde if ile birlikte convert kodunu yazdığım da hata da almıyorum ama sonuç da almıyorum yeni bir dosya oluşturmuyor.
Yapmış olabileceğim hatayla ilgili yardımcı olabilirseniz çok sevinirim...

furkankalkan

if yerine while döngüsü kullansanız ?
bu arada $9 'un çıktısını alabiliyor musunuz ?
Lover
twitter.com/furkan_kalkan1

fadime

#2
$9 çıktısını kontrol ettim alıyorum while ı da bi deneyeyim onu denemedim.



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 27 Ağustos 2012 - 10:53:26

malesef sonuç vermiyor... )=

bilonemsi

arkadaşlar merakımdan soruyorum kodu biraz açıklarımısınız? veya nasıl okumalıyız? yada en olmadı bilgisayar bu kodu algıladığında ilk neresine bakıyor ne yapıyor hangi program devreye giriyor?

sadece merak ettiğim için sordum şimdiden teşekkür ederim.
uzak durun bağımlılık yapıyor...

http://www.qutuphane.com/

fadime

while da denedim sonuç alamadım...

hitokiri

ls -l *.jpg | awk '{ if ( $8 == "2008" ) print $9  }'|xargs file 
bu şekilde bir şeyler dene muhtemelen convert awk içinde bir değişken veya komut değildir.

ironic

awk bash ortamından farklı bir ortam olduğu için kendine özel tanımlamaları var. Dışardan bir komut çalıştıracaksak bunun için awk da system fonksiyonu varmış. Duruma uyarlarsak şu şekilde oluyor.


ls -l *.jpg | awk '{ if ($8 >="14:50" && $5 >=83000) system("convert -resize 640 " "\""$9"\" " "\"""yeni_"$9"\"");close("convert -resize 640");}'


fadime

ironic tam olarak istediğim sonucu elde ettim çok teşekkürler

cagriemer

@bilonemsi ls komutu ile .jpg uzantili dosyalarin listesi awk isimli programa aktarilmis. awk bu gelen listenin 5.ve 8. sutunlarina bakip 8. sutunda(zaman) 14.50'den buyukleri 5. sutunda(boyut) 83000'den buyukleri secmis ve convert isimli programa yollamis. convert kendisine gelen bu listeyi yeniden boyutlandirip yeni isimiyle birlikte kaydetmis. Kabaca yapilan islem bu.

Sorun cozuldugune gore basligi kilitliyorum.