(O+P)ut

(O+P)ut

(O+P)ut = OutPut

【Windows&UNIX】2つのOS間でファイルサイズ、ファイル数を比較する

タイトルの通りです。

f:id:mtiit:20180501131053j:plain

WindowsからUNIXにファイルを転送した際、総ファイルが全て送られたことを確認するために
ファイル数 と 総ファイルサイズ を取得しました。その際のメモを残しておきます。例として、txtファイルが対象とします。

まず、Windowsですが

dir /s *txt

これを実施すると、対象ディレクトリ以下の全てのファイル数が末尾に表示されます。

     ファイルの総数:
            ○○○○ 個のファイル       ×××× バイト
            △△△△ 個のディレクトリ  □□□□ バイトの空き領域

UNIXの場合は、

ファイル総数を取得

find ./ -type f | grep $txt |  wc -l

総ファイルサイズを取得

find ./ -type f -ls | grep txt$ | awk 'BEGIN{sum=0;} {sum+=$7;} END{print sum}'


実環境でやってみましたが、

dir /s *txt
....
     ファイルの総数:
              44 個のファイル           1,661,600 バイト
               0 個のディレクトリ  130,844,229,632 バイトの空き領域
$ find ./ -type f | grep txt$ | wc -l
44

$ find ./ -type f -ls | grep txt$ | awk 'BEGIN{sum=0;} {sum+=$7;} END{print sum}'
1661600

しっかり一致しました。LinuxAIXでは実環境で確認済み、

以上、ご参考まで。