はじめに
タイトルの通りですが、
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
しっかり一致しました。
以上、ご参考まで。