ディレクトリ内のすべてのHTMLファイルでこのPythonスクリプトをどのように実行できますか? [コピー]

ディレクトリ内のすべてのHTMLファイルでこのPythonスクリプトをどのように実行できますか? [コピー]

Pythonスクリプトがあります

$ cat ~/script.py
import sys
from lxml import etree
from lxml.html import parse
doc = parse(sys.argv[1])
title = doc.find('//title')
title.text = span2.text.strip()
print etree.tostring(doc)

次のコマンドを実行して、単一のファイルからスクリプトを実行できます。

$ python script.py foo.html > new-foo.html

~/webpage私の問題は、サブディレクトリに何百ものファイルが散在しているディレクトリがあることです。これらすべてのHTMLファイルで実行し.htmlたいと思います。~/script.pyどうすればいいですか?

.html次のコマンドを実行すると、すべてのファイルを一覧表示できることがわかります。~/webpage/

$ find ~/webpage/ -name "*.html"

しかし、このリストを使用してスクリプトを実行する方法がわかりません。

ベストアンサー1

-execコマンドの使用find

find ~/webpage/ -name "*.html" -exec sh -c 'python script.py {} > new-{}' \;

一部のバージョンでは、次のことが必要になる場合があります。

find ~/webpage/ -name "*.html" -exec sh -c 'python script.py $0 > new-$0' {} \;

おすすめ記事