backticked выражение: echo {} | tr mkv m4v
(который не является тем, что Вы хотите по ряду причин; посмотрите ниже), расширен однажды, когда команда находки анализируется. Если Вы используете bash
, это будет обычно расширяться до {}
:
$ echo {} | tr mkv m4v
{}
И, действительно, это происходит на каждой оболочке, установленной на моей машине кроме рыбы, которая производит пустую строку. Принятие Вы не используете fish
, затем аргументы find
на самом деле видит будет:
find -name '*.mkv' -exec HandBrakeCLI -Z "Android Tablet" \
-c "1-3" -m -O --x264-tune film -E copy --decomb -s 1 -i {} \
-o {} \;
Короче говоря, HandBrakeCLI
дается тот же файл и для ввода и вывода, и я думаю, что это - то, что Вы видите, хотя Ваше описание признаков не очень точно.
К сожалению, нет никакого простого способа добраться, находят, чтобы сделать дополнительную замену, которую Вы хотите, чтобы это сделало в -exec
действие. Вы могли сделать это путем передачи команды bash -c
, но это включит дополнительное, запутывающее заключение в кавычки на командной строке. Инструмент для очистки и больше читаемого решения должны создать файл сценария оболочки, который может выполнить итерации через, это - аргументы:
Файл: mkvtom4v.sh
(Удостоверьтесь Вы chmod a+x mkvtom4v.sh
)
#!/bin/bash
for file in "$@"; do
HandBrakeCLI -Z "Android Tablet" -c "1-3" -m -O \
--x264-tune film -E copy --decomb -s 1 \
-i "$file" -o "${file/%.mkv/.m4v}"
done
И затем вызовите его с находкой:
find /path/to/directory -name '*.mkv' -exec /path/to/mkvtom4v.sh {} +
Некоторые примечания:
Не используйте обратные галочки (
); они много лет удерживались от использования. Использовать some command
$(some command)
, который более читаем и позволяет вложение.
tr
определенно не, что Вы хотите. Это действительно изображает символьным переводом. Например, tr aeiou AEIOU
сделал бы все гласные UppErcAsE. tr mkv m4v
изменит каждый k
к a 4
. Посмотрите man tr
(или info tr
) для получения дополнительной информации.
"${file/%.mkv/.m4v}"
особенный синтаксис поиска-и-замены удара. В этом случае это означает: "Примите значение $file
, и если это заканчивается .mkv
( %
означает "концы с" в этом контексте), затем замените его .m4v
". Существует много других bashisms для редактирования значения переменной. man bash
и поиск "Расширения Параметра".
С GNU находят, можно использовать {} +
в конце -exec
команда (вместо \;
). Это будет заменено как можно большим количеством найденных имен файлов. Посмотрите info find
для получения дополнительной информации.
Это будет зависеть от того, что вы храните в этой папке. Это сертификаты или конфигурация httpd для доменов с поддержкой SSL?
Вам нужно удалить всю конфигурацию, связанную с SSL, из httpd.conf и любых файлов конфигурации виртуального хоста. Вам также необходимо убедиться, что ваш сервер не прослушивает порт 443.
Изменить Сделайте это, отредактировав свой httpd.conf и найдите строку, которая начинается с
Listen
. Эта строка будет содержать номера портов что сервер слушает - удалите 443 из строки. (Более подробную информацию о формате этой строки можно найти на сайте документации apache .)
Как только это будет сделано, если люди попытаются перейти на ваш сайт с помощью HTTPS, они получат сообщение об ошибке «В соединении отказано» - это означает, что ваш сервер не принимает SSL-трафик.