bash:find -exec和filenames

时间:2011-04-27 20:40:08

标签: bash find exec w3m

我想从几百个文件中删除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 个答案:

答案 0 :(得分:13)

重定向发生在find之外。调用子shell。

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