bash: find -exec и имена файлов
Я хочу раздеть HTML из нескольких сотен файлов.
Вот команда, с которой я начал:
find -name *.html -exec w3m {} > w3m {}.html.out \;
Проблема, с которой я столкнулся, состоит в том, что он создал один большой файл.htm.out (названный {}.html.out) - я хочу, чтобы файл, который я использую, был назван независимо от его оригинала.out.
Например, у меня есть
2002/filename.html
Я хочу запустить его через w3m и получить 2002/filename.html.out
Какие-либо предложения? Я открыт для других решений, которые не используют Bash
Я использую Cygwin.
1 ответ
Решение
Перенаправление происходит за пределами find
, Вызвать подоболочку.
find -name *.html -exec bash -c 'w3m "$1" > w3m-"$1".html.out' w3mout {} \;