特定の日付範囲内で着信ファイルが占めるスペースを見つける方法、

特定の日付範囲内で着信ファイルが占めるスペースを見つける方法、

私の要件は、月に消費されるスペースと着信ファイルの数を見つけることです。たとえば、「X」ディレクトリがある場合は、スペースと月を知りたいです。

以下は、詳細を取得するために使用したコマンドです。

cd x
Output1=$(find . -type f -newermt 2017-11-01 ! -newermt 2017-11-30 | wc -l)
Output2=$(find . -type f -newermt 2017-11-01 ! -newermt 2017-11-30 | du -sk)
echo "Count of file is $Output1 and Space occupied by files is $Output2 KB"

a)10月1日から10月31日まで、b)10月1日から11月30日まで、c)11月1日から11月30日までの3つの異なる範囲に対して上記のコマンドを実行しました。

私の期待はa)+ b)= Cでなければなりませんが、そうではありません。これについてあなたの考えを共有してもよろしいですか?または、私が使用しているコマンドに問題があるかどうかを教えてください。または、私の要件を満たすためのより良いオプションがある場合は共有してください。

ファイル数は3679280、占有ファイルスペースは19766351768です。ファイル数は6857725で、占有ファイルスペースは19765912668です。ファイル数は3063226、占有ファイルスペースは19765541452です。

ベストアンサー1

-newermt 2017-10-31「10月31日0時以降に修正済み」という意味で、「
! -newermt 2017-10-3110月31日0時前または当日修正済み」を意味するため、後者には10月31日に作成されたファイルは含まれません。を使用すると、-newermt 2017-10-01 ! -newermt 2017-10-31その月の最後の日を見逃すことがあります。

$ find . -type f -newermt 2017-10-01 ! -newermt 2017-10-31
./oct30
$ find . -type f -newermt 2017-10-01 ! -newermt 2017-11-30
./oct30
./oct31
./nov01
$ find . -type f -newermt 2017-11-01 ! -newermt 2017-11-30
./nov01

-newermt 2017-10-01 ! -newermt 2017-11-0110月全体のデータを取得したい場合がありますが、10月31日から11月1日までの深夜に作成されたファイルも10月のデータとして計算されます。 (おそらく、これは1秒未満のタイムスタンプを持つシステムでは問題にはなりません。)

おすすめ記事