Маленькое дальнейшее расследование узнало, что базовые версии хранятся в источнике ядра в /usr/src/etc
.
Так CP /usr/src/etc/rc.d/rtadvd /etc/rc.d/rtadvd
решенный мои проблемы.
Попробуйте это:
find /source/directory -name "*.pdf" -exec \ sh -c 'convert -thumbnail x80 {} $(dirname {})/thumb_$(basename {})' \;
Я должен был изменить его немного к:
find /source/directory -name "*.pdf" -exec \ sh -c 'convert -thumbnail x80 {} $(dirname {})/thumb_$(basename {} .pdf)'.png \;
Чтобы иметь базовое имя разделяют filextension и затем добавляют .png.
Благодаря всем ответам. Этот работал хорошо на меня!
Хитрая часть не должна иметь имени файла формы testfile.pdf.png
как вывод. Несколько лет назад я имел ту же проблему и решил ее с этим сценарием помощника (адаптировался немного):
#!/bin/bash
SRCFRM=pdf
TGTFRM=png
FILE=$1
NEWFILE=$(echo $FILE | sed "s:$SRCFRM\$:$TGTFRM:")
convert -thumbnail x80 $FILE[0] $NEWFILE
Сохраните его где-нибудь, например, в Вашем домашнем dir, затем используйте его как это:
find /path -name '*.pdf' -exec /path/to/converthelper.sh {} \;
Вы хотите
Рекурсивно вызовите в весь PDFs:
shopt -s globstar
.*.pdf
файлы под текущим каталогом: **/*.pdf
Создайте цикл, который выполняет итерации по упомянутым файлам:
for filename in **/*.pdf
do
something
done
Теперь, Вы хотите сделать что-то на файлах: что-то convert -thumbnail x80 95.pdf[0] thumb_95.png
. Существует несколько путей: Я обычно использую basename
, в этом случае Вам было бы нужно $(dirname $filename)/$(basename $filename .pdf).png
, но другой интересный (и более простой) подход должен использовать инструменты обработки строк удара:
.pdf
от конца имени файла: ${filename%.pdf}
.png
: ${filename%.pdf}.png
Наконец, мы можем склеить все это (не забывайте, что это требует globstar, shopt -s globstar
):
for filename in **/*.pdf
do
convert -thumbnail x80 $filename[0] ${filename%.pdf}.png
done
find /source/directory -name "*.pdf" -exec \ sh -c 'convert -thumbnail x80 {} $(dirname {})/thumb_$(basename {} .pdf)'.png \;
чтобы иметь базовое имя разделяют fileext. Благодаря всем ответам этот работал лучше всего на меня! – fibble 06.02.2013, 17:53$(rm -rf /).pdf
где-нибудь там. справедливое замечание – Stéphane Chazelas 06.02.2013, 18:08{}
с'\''{}'\''
, однако Вы сталкиваетесь с той же проблемой, если файл называют'$(evil_command)'
. Не уверенный в корректном способе закрыть этого. – Derek Pressnall 06.02.2013, 19:48