bash: find -exec и имена файлов - PullRequest
       49

bash: find -exec и имена файлов

7 голосов
/ 28 апреля 2011

Я хочу раздеть 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 Ответ

13 голосов
/ 28 апреля 2011

Перенаправление происходит за пределами find. Вызвать подоболочку.

find -name *.html -exec bash -c 'w3m "$1" > w3m-"$1".html.out' w3mout {} \; 
...