web-dev-qa-db-ja.com

多くのディスクスペースを使用せずにtarアーカイブ内のファイルのsha1チェックサムを作成する方法

単純なtarアーカイブ内のすべてのファイルのsha1チェックサムをリストまたは新しいファイルとして取得したい

大きなtarファイルを解凍するためにディスクスペースを使用せずに。パイピングとsha1のオンザフライ計算、出力の/ dev/nullへの送信

私はグーグルをたくさん検索し、パイプでいくつかの実験をしましたが、それほど遠くまで行くことができませんでした。

バックアップをチェックする時間を本当に節約できます。

5
carparts

簡単すぎる :

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
6
Vouze