GNU/Linux >> Linux の 問題 >  >> Linux

Inotifywaitを使用して、特定の拡張子のファイルを作成するためのディレクトリを監視する方法は?

私はこの答えを見ました。

例として、inotifywaitの使用を検討する必要があります:

inotifywait -m /path -e create -e moved_to |
    while read path action file; do
        echo "The file '$file' appeared in directory '$path' via '$action'"
        # do something with the file
    done

私の質問は、上記のスクリプトは任意のタイプのファイルの作成についてディレクトリを監視しているということですが、inotifywaitを変更するにはどうすればよいですか。 特定のタイプ/拡張子のファイルが作成された(またはディレクトリに移動された)ときにのみレポートするコマンド-例: .xmlが発生したときにレポートする必要があります ファイルが作成されます。

試したこと:

inotifywait --helpを実行しました コマンド、およびコマンドラインオプションを読みました。 --exclude <pattern>があります および--excludei <pattern> EXCLUDEへのコマンド 特定のタイプのファイル(正規表現を使用)ですが、INCLUDEだけする方法が必要です 特定のタイプ/拡張子のファイル。

承認された回答:


特定のタイプ/拡張子のファイルが作成されたときにのみレポートするようにinotifywaitコマンドを変更するにはどうすればよいですか

これはテストされていないコードであることに注意してください inotifyにアクセスできないため たった今。しかし、これに似た何かが機能するはずです:

inotifywait -m /path -e create -e moved_to |
    while read path action file; do
        if [[ "$file" =~ .*xml$ ]]; then # Does the file end with .xml?
            echo "xml file" # If so, do your thing here!
        fi
    done

Linux
  1. Linux –ディレクトリ内のすべてのフォルダ/ファイルにデフォルトのファイル権限を設定するにはどうすればよいですか?

  2. Logrotateを使用してログファイルを管理する方法

  3. 特定のタイプのファイルのみのディレクトリをどのように比較しますか?

  1. Linuxで特定のディレクトリまたは別のディレクトリにtarファイルを抽出する方法

  2. ディレクトリ内のすべてのフォルダ/ファイルにデフォルトのファイル権限を設定する方法は?

  3. Linux ファイル サーバーで新しいファイル/フォルダーに特定のアクセス許可を強制するにはどうすればよいですか?

  1. サイズと拡張子でファイルを検索する方法は?

  2. 特定の拡張子を持つファイルを非表示にする方法は?

  3. LinuxでNetcatを使用してファイルを転送する方法