Hàng loạt chạy mogrify bao gồm cả thư mục con


13

Lệnh mogrify -format jpg *.NEFkhi chạy trong thư mục sẽ chuyển đổi tất cả các tệp * .NEF thành JPEG. Những gì tôi muốn làm là có thể chạy mogrify trong các tệp * .NEF bên trong các thư mục con cũng bằng một lệnh. Tôi đang cố gắng để chạy một cái gì đó như:

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

và tất nhiên nó không hoạt động. Ai đó có thể đề nghị các lệnh thích hợp?

Câu trả lời:


16

Có vẻ như mogrify từ ImageMagick 6.9.9.19 ghi kết quả vào cùng thư mục với tệp đầu vào, vì vậy bạn có thể sử dụng lệnh này:

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

Giải trình:

  • -name '*.NEF'tìm thấy tất cả các tệp * .NEF ; sử dụng -inamenếu bạn muốn tìm kiếm không phân biệt chữ hoa chữ thường.

  • -exec ... {} +thực hiện lệnh trên tất cả các tập tin phù hợp. Một cách khác là kết hợp tìm với xargs .


Chỉ là một mẹo, bạn có thể muốn mở rộng về điều này một chút vì nó được đánh dấu là chất lượng thấp. Xem xét giải thích những gì lệnh làm chi tiết.

Làm việc hoàn hảo. Tôi sử dụng này cho convert svg để png với: "tìm -name '* .svg' exec mogrify -format jpg {} +."
Indacochea Wachín
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.