質問: 過去n秒間に変更されたファイルを見つけるlinuxコマンド linuxコマンドで、最後のn秒間に変更されたファイルを見つけたいのですが。コマンドラインインターフェイスまたはguiから実行できるシェルスクリプトまたはその他のツールはありますか?
回答: mtimeが秒を指定するソリューション は、_find --version_ == find (gnu findutils) 4.4.2を使用するlinuxシステムでは機能しません。次のエラーが発生します。_mycomputer:~/new$ find . -mtime -60s find: missing argument to `-mtime' mycomputer:~/new$ find . -mtime -60seconds find: missing argument to `-mtime' _ただし、_-mmin_(最後のm分間に変更されたもの)を使用でき、10進数の引数をとることができます。たとえば、以下は過去30秒間に変更されたファイルを検索します。_find . -mmin 0.5 _たとえば、最後に変更された1秒、6秒、11秒などのファイルを過去120秒間作成すると、次のコマンドが見つかります。_mycomputer:~/new$ for i in $(seq 1 5 120); do touch -d "-$i seconds" last_modified_${i}_seconds_ago ; done mycomputer:~/new$ find . -mmin 0.5 . ./last_modified_1_seconds_ago ./last_modified_26_seconds_ago ./last_modified_11_seconds_ago ./last_modified_16_seconds_ago ./last_modified_21_seconds_ago ./last_modified_6_seconds_ago _したがって、本当に数秒で必要な場合は、次のようなことができます。_localhost:~/new$ for i in $(seq 1 1 120); do touch -d "-$i seconds" last_modified_${i}_seconds_ago ; done localhost:~/new$ n=18; find . -mmin $(echo "$n/60"|bc -l) ./last_modified_1_seconds_ago ./last_modified_9_seconds_ago ./last_modified_14_seconds_ago ./last_modified_4_seconds_ago ./last_modified_12_seconds_ago ./last_modified_13_seconds_ago ./last_modified_8_seconds_ago ./last_modified_3_seconds_ago ./last_modified_5_seconds_ago ./last_modified_11_seconds_ago ./last_modified_17_seconds_ago ./last_modified_16_seconds_ago ./last_modified_7_seconds_ago ./last_modified_15_seconds_ago ./last_modified_10_seconds_ago ./last_modified_6_seconds_ago ./last_modified_2_seconds_ago _