2011-04-27 9 views
6

Quiero quitar el HTML de cientos de archivos.bash: find -exec y nombres de archivo

Aquí está el comando que he empezado con:

find -name *.html -exec w3m {} > w3m {}.html.out \; 

El problema que he encontrado es que se crea un archivo individual grande .htm.out (llamado {} .html.out) - Quiero que el archivo que estoy usando sea nombrado sea cual sea su original .out.

Por ejemplo, tengo

2002/filename.html 

quiero ejecutarlo a través de w3m, y consigo 2002/filename.html.out

¿Alguna sugerencia? Estoy abierto a otras soluciones que no usan bash

Estoy usando cygwin.

Respuesta

11

La redirección ocurre fuera de find. Invocar una subshell.

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

tengo que trabajar con este comando: hallazgo -name * .html -exec fiesta -c 'w3m "$ 1"> "$ 1" .html.out' w3mout {} \; – andyhky

Cuestiones relacionadas