imagemagick не может найти файлы внутри подкаталога

Сpinentry-0.8.1gnupg2-2.0.22)на Centos 7 я смог удалить фразу-пароль из секретного ключа, не указывая новый пароль; pinentryныл и предупреждал о пустом пароле, но и в консоли, и в программах GTK pinentryбыло приглашение «Возьмите это в любом случае», которое приводило к получению пароля -бесплатного секретного ключа.

С другой стороны, эта попытка не удалась, так как импортированный тогда секретный ключ помечен как непригодный для использования:

gpg --export-options export-reset-subkey-passwd --export-secret-subkeys > x
2
04.10.2019, 17:24
1 ответ

Так как вы используете ./*/как глобус, $dбудет содержать что-то вроде ./dir/, поэтому вы собираетесь запустить convert *.jpg(n)./dir/.pdf && mv./dir/.pdf.. Также обратите внимание, что .— это текущий каталог, а не родительский (, который является..).

Здесь вам нужно что-то вроде:

for dir (./*(/)) (convert $dir/*.jpg(n) $dir.pdf)

Здесь мы используем квалификатор(/)glob для выбора файлов типа каталог(измените на (-/), если вы также хотите включить символические ссылки на каталоги как с вашим */подходом ).

Вы получите ошибки для каталогов, в которых нет не -скрытых jpg-файлов, но поскольку мы используем подоболочки, это приводит только к выходу из подоболочки.

Если вы хотите избежать ошибок, вы можете проверить наличие файлов jpg, например:

for dir (./*(/)) {
  files=($dir/*.jpg(Nn)) # N for nullglob
  (($#files == 0)) || convert $files $dir.pdf
}

Или с помощью анонимной функции:

for dir (./*(/)) (){(($# == 0)) || convert $* $dir.pdf} $dir/*.jpg(Nn)
2
27.01.2020, 22:08

Теги

Похожие вопросы