単純なtarアーカイブ内のすべてのファイルのsha1チェックサムをリストまたは新しいファイルとして取得したい
大きなtarファイルを解凍するためにディスクスペースを使用せずに。パイピングとsha1のオンザフライ計算、出力の/ dev/nullへの送信
私はグーグルをたくさん検索し、パイプでいくつかの実験をしましたが、それほど遠くまで行くことができませんでした。
バックアップをチェックする時間を本当に節約できます。
簡単すぎる :
tar xvJf myArchive.tar.xz --to-command=sha1sum
結果は次のようになります:
z/
z/DOCUMENTATION
3c4d9df9bcbd1fb756b1aaba8dd6a2db788a8659 *-
z/getnameenv.sh
1b7f1ef4bbb229e4dc5d280c3c9835d9d061726a *-
または、次のコマンドで「tarsha1.sh」を作成します。
#!/bin/bash
sha1=`sha1sum`
echo -n $sha1 | sed 's/ .*$//'
echo " $TAR_FILENAME"
次に、このように使用します。
tar xJf myArchive.tar.xz --to-command=./tarsha1.sh
結果は次のようになります:
3c4d9df9bcbd1fb756b1aaba8dd6a2db788a8659 z/DOCUMENTATION
1b7f1ef4bbb229e4dc5d280c3c9835d9d061726a z/getnameenv.sh