find特定の時間パラメータを指定-newermt
以前、ファイル処理スクリプトを書くときに、ある特定の期間内に生成されたバッチファイルを検索する必要がありました.最初に思いついたのは「find-mtime」ですが、この検索の時間単位は日です.どのようにして分まで正確にしますか?それともタイムスタンプで検索しますか?これには「-newermt」が必要です
1.「-newermt」パラメータ
このパラメータのmは実はmtimeを表し、tは絶対時間を表し、それは同様に存在する:-newerat、-newerct
注意:使用中に、システムのバージョンが低いか、スクリプトで実行環境が不足しているため、単一のコマンドを次のように調整できるというエラー・プロンプト
2.「-atime」、「-ctime」、「-mtime」パラメータは、この3つのパラメータの使用方法を思い出します.
パラメータの後に具体的な数値が表示されます.
-1:24時間以内に操作された1:24時間以外、48時間以内に操作された+1:48時間以外に操作された#の3つの時間が交差していません
1.「-newermt」パラメータ
find /dir1 -type f -newermt '2018-5-26 21:00' ! -newermt '2018-5-26 22:00' -exec cp {} /dir2 \;
# /dir1 2018-5-26 21:00 2018-5-26 22:00 /dir2
このパラメータのmは実はmtimeを表し、tは絶対時間を表し、それは同様に存在する:-newerat、-newerct
注意:使用中に、システムのバージョンが低いか、スクリプトで実行環境が不足しているため、単一のコマンドを次のように調整できるというエラー・プロンプト
find: I cannot figure out how to interpret \'2018-05-26' as a date or time
が発生する可能性があります.cmd="find /dir1 -type f -newermt '2018-5-26 21:00' ! -newermt '2018-5-26 22:00' -exec cp {} /dir2 \;"
echo $cmd | sh
2.「-atime」、「-ctime」、「-mtime」パラメータは、この3つのパラメータの使用方法を思い出します.
-atime: , 。
-ctime: , inode
-mtime:
パラメータの後に具体的な数値が表示されます.
-1:24時間以内に操作された1:24時間以外、48時間以内に操作された+1:48時間以外に操作された#の3つの時間が交差していません