2012.12.05 うえすぎ
Windows マシンで撮ったデータをLinuxに転送した後、md5 チェックサムを使って整合性を確認する手順
1. windows でチェックサムの計算をする
(fciv.err にエラーが出るけど気にしない)
% fciv -md5 -add .\ -r > md5.log
2. ftp で linux マシンにディレクトリ丸ごと転送 (.log はアスキー転送)
3. linux 上で md5.log に細工。
a. 最初の5行を削って
b. \ を / に置換
c. ./ の前にスペースを追加
a-c はエディタでやっても良い。
% sed -e "1,5d" md5.log > md5_a.log
% sed -e 's/\\/\//g' md5_a.log > md5_b.log
% sed -e 's/.\// .\//' md5_b.log > md5_x.log
4. linux 上でmd5sumのチェック
% md5sum -c ./md5_x.log > /dev/null && echo OK
fciv はこちらから。
http://www.microsoft.com/en-us/download/details.aspx?id=11533
もしエラーが出る時は、CR+LF がうまく変換されていないので、
% tr -d "\15" < fin > fout
等として、LF にする。fin fout は適当に設定。
これらをまとめるとこうなる on Linux マシン
sed -e "1,5d" -e 's/\\/\//g' -e 's/.\// .\//' md5.log > temp.log
tr -d "\15" < temp.log > md5_x.log
md5sum -c ./md5_x.log > /dev/null && echo OK
rm -f temp.log
**************
Linux の中でコピー&チェックするには
(setenv LANG C しないとだめかも)
1. コピー元のディレクトリ内で参照データを作成
% find . -type f -exec md5sum {} \; > ~/md5_001.out
2. コピー先のディレクトリにてチェック実行
% md5sum -c ~/md5_001.out > /dev/null && echo OK
**************
2013.05.23 追記
file check on windows OS
1. make database
fciv -add .\ -r -xml hss.xml
2. verify checksum
fciv -v -xml hss.xml