Batch run mogrify termasuk subdirektori


13

Perintah mogrify -format jpg *.NEFsaat dijalankan dalam direktori mengubah semua file * .NEF ke JPEG. Yang ingin saya lakukan adalah dapat menjalankan mogrify dalam file * .NEF di dalam subdirektori juga menggunakan satu perintah. Saya mencoba menjalankan sesuatu seperti:

find . -type d exec mogrify -format jpg *.NEF \;

dan tentu saja itu tidak berfungsi. Adakah yang bisa menyarankan perintah yang tepat?

Jawaban:


16

Sepertinya mogrify dari ImageMagick 6.9.9.19 menulis hasilnya di direktori yang sama dengan file input, sehingga Anda dapat menggunakan perintah ini:

find . -name '*.NEF' -exec mogrify -format jpg {} +

Penjelasan:

  • -name '*.NEF'menemukan semua file * .NEF ; gunakan -inamejika Anda ingin pencarian menjadi case-sensitive.

  • -exec ... {} +mengeksekusi perintah pada semua file yang cocok. Alternatifnya adalah menggabungkan find dengan xargs .


Hanya sebuah tip, Anda mungkin ingin sedikit memperluas ini karena ditandai sebagai kualitas rendah. Pertimbangkan untuk menjelaskan apa yang dilakukan perintah secara terperinci.

Bekerja dengan sempurna. Saya menggunakan ini untuk mengonversi svg ke png dengan: "find. -Name '* .svg' -exec mogrify -format jpg {} +"
Indacochea Wachín
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.