Bashスクリプトはファイルの変更を監視し、コマンドを実行します。

Bashスクリプトはファイルの変更を監視し、コマンドを実行します。

asciidoctor拡張子を持つファイル形式を含む複数のサブフォルダがあるフォルダがあります.adoc

ファイルを変更するたびに(頻繁に発生する)、以下を実行する必要があります。

asciidoctor -q filename.adoc

HTML形式でコンパイルします。

このプロセスを自動化しようとしています。これまで私はこれを使用していました入力する:

ls *.adoc | entr asciidoctor -q *.adoc

ただし、サブフォルダではなく既存のフォルダでのみ機能します。このバリエーションを試しましたが、うまくいきません。

find . -name '*.adoc' | entr asciidoctor -q *.adoc

すべてのサブフォルダに対してこのプロセスを自動化する方法についてのアイデアはありますか?

ベストアンサー1

変更を開始する前に、次のタイムスタンプを作成することをお勧めします。

touch time.stamp.file

編集後、次のように変更されたすべてのファイルを見つけることができます。

find . -name '*.adoc' -newer time.stamp.file -exec asciidoctor -q {} +

おすすめ記事