Boss run mogrify, w tym podkatalogi

13

Polecenie mogrify -format jpg *.NEFpo uruchomieniu w katalogu konwertuje wszystkie pliki * .NEF na pliki JPEG. Chcę, aby móc uruchomić mogrify w plikach * .NEF wewnątrz podkatalogów, a także za pomocą jednego polecenia. Próbuję uruchomić coś takiego:

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

i oczywiście nie działa. Czy ktoś może zasugerować właściwe polecenie?

Regmi
źródło

Odpowiedzi:

16

Wygląda na to, że mogrify z ImageMagick 6.9.9.19 zapisuje wynik w tym samym katalogu co plik wejściowy, więc możesz użyć tej komendy:

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

Wyjaśnienie:

  • -name '*.NEF'znajduje wszystkie pliki * .NEF ; użyj, -inamejeśli chcesz, aby wyszukiwanie nie uwzględniało wielkości liter.

  • -exec ... {} +wykonuje polecenie na wszystkich pasujących plikach. Alternatywą byłoby połączenie find z xargs .

Cristian Ciupitu
źródło
Tylko wskazówka, możesz nieco rozwinąć tę kwestię, ponieważ oznaczono ją jako niską jakość. Rozważ wyjaśnienie szczegółowo tego polecenia.
Działa idealnie. Używam tego do konwersji svg do png za pomocą: "find. -Name '* .svg' -exec mogrify -format jpg {} +"
Indacochea Wachín 24.0119