Bul ile uzantıyı atlamak istiyor musunuz?


11

Birden çok .png dosyasından küçük resimler oluşturmak gerekir ve bunu ImageMagicks convertyardımcı programını kullanarak yapmak istiyorum . Küçük resimleri olmayan tüm dosyaları özyinelemeli olarak bulmak için, aşağıdaki çağrıyı kullanıyorum (okunabilir hale getirmek için iki satıra bölünmüş):

find . -type f -name "*.png" -not -name "*thumb.png*" \
  -exec convert {} -thumbnail 200x200 {}.thumb.png \;`

Ancak bu, elbette adlı bir dosyada a.png.thumb.pngçalıştırılırken adlı bir dosya oluşturur a.png. Dönüştürmek için geçirilen .pngikinci {}parametreden uzantıyı nasıl kaldırabilirim ?

Yanıtlar:


14

Bunu yapmanın en kolay yolu, {}bir kabuğa geçmek shve kabuğun bunu yapmasını sağlamaktır:

find ... \
    -exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} \;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.