mtimeを使用して1日より古いファイルを見つける方法は? [コピー]

mtimeを使用して1日より古いファイルを見つける方法は? [コピー]

1日を過ぎたすべてのファイルを削除しようとしています。ファイルを削除するスクリプトを実行する前に、mtimeを使用してファイルを見つけました。しかし、私のコマンドと同じ問題に直面しています。

私の現在の日付は次のとおりです。

Wed Jan 27 11:49:20 BDT 2016

私のファイルのリストは -

Jan 25 15:11 25-01-2016.txt            
Jan 26 13:05 26-01-2016.txt    
Jan 27 02:30 27-01-2016.txt    
Jan 25 15:11 dfk-25-01-2016.txt    
Jan 26 13:05 dfk-26-01-2016.txt      
Jan 27 02:30 dfk-27-01-2016.txt 

-mtime +1一日を過ぎたすべてのファイルをリストする必要があると思います。

find /etc/output/*.txt -mtime +1
find /etc/output/*.txt -mtime +0

/output/25-01-2016.txt
/output/dfk-25-01-2016.txt

find /etc/output/*.txt -mtime -1

/output/26-01-2016.txt
/output/27-01-2016.txt
/output/dfk-26-01-2016.txt
/output/dfk-27-01-2016.txt

私が望む出力は次のとおりです。

find /etc/output/*.txt -mtime +1

/output/25-01-2016.txt
/output/dfk-25-01-2016.txt

find /etc/output/*.txt -mtime +0

/output/26-01-2016.txt
/output/dfk-26-01-2016.txt
/output/25-01-2016.txt
/output/dfk-25-01-2016.txt

答え1

2つの点:「少数の部分を無視する」を探します。時間を計算し、24で割って結果を整数化します(小数点を除く)。したがって-mtime 0、ファイルを確認し、mtimeを比較し、時間に変換し、24で割ります。結果の整数部分がゼロの場合、一致することを示します。これは、0.99999時間前が一致することを意味します。次に、-mtime +0少なくとも24時間の時間差を持つすべてのファイルを一致させます。

n第二に、mtimeにこれから-24時間以外の逆日を計算させるには、を使用します-daystart-daystart -mtime 0今日そして-daystart -mtime +0今日前にも言った。

関連情報