フォルダーやサブフォルダーにある多数のファイルに対してHTMLTidyを実行したいと思います。ターミナルで次のコマンドを使用して、単一のファイルで実行できます。
tidy -f errors.txt -m -utf8 -i sample.html
しかし、ルートフォルダーを指定して実行し、そこにある各htmlファイルを調べてから、各サブフォルダーで同じことを行うにはどうすればよいですか?
find
を使用します。
find /path/to/folder -type f -name "*.html" -exec tidy -f errors.txt -m -utf8 -i {} \;
これにより、指定したフォルダー内のすべての.html
ファイルでtidy
が実行されます。
-type f
はすべてに一致しますファイル(フォルダ、シンボリックリンクなどとは対照的)-name "*.html"
は、拡張子が.html
のすべてのファイルに一致します-exec tidy -f errors.txt -m -utf8 -i {} \;
は、指定されたtidy
コマンドラインを実行し、完全なファイルパスを{}
に挿入します。このコマンドを終了するには、find
が\;
を必要とします。