Saya perlu membuat thumbnail dari beberapa file .png dan ingin melakukannya menggunakan ImageMagicks convert
kegunaan. Untuk menemukan semua file yang bukan thumbnail itu sendiri secara rekursif, saya menggunakan panggilan berikut (dibagi menjadi dua baris agar dapat dibaca):
find . -type f -name "*.png" -not -name "*thumb.png*"
-exec convert {} -thumbnail 200x200 {}.thumb.png ;`
Tapi ini tentu saja akan membuat file bernama a.png.thumb.png
saat menjalankannya pada file bernama a.png
. Bagaimana cara menghapus .png
ekstensi dari {}
second kedua parameter yang diteruskan untuk dikonversi?
Jawaban yang Diterima:
Cara termudah untuk melakukannya adalah dengan meneruskan {}
ke shell seperti sh
dan minta shell melakukannya:
find ...
-exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} ;
Bandingkan Direktori Tapi Bukan Isi File?
Cara Andal Untuk Menjebloskan Proses Anak Menggunakan `nsenter:`?