同じフォルダ内のファイルのmd5値を含むファイルを取得します。ファイルに含まれる情報の形式md5checksums.txt
は次のとおりです。
b0da7ead9d82a3494d7e0a7099871ef4 ./GCF_000959505.1_ASM95950v1_assembly_report.txt
7ff32cbb16daf46c87b3546ad576ff66 ./GCF_000959505.1_ASM95950v1_assembly_stats.txt
034081da3aa0708f06c2ec1129e4aca9 ./GCF_000959505.1_ASM95950v1_cds_from_genomic.fna.gz
すべてのファイルに対してmd5スキャンを実行したいと思います。私は次のコマンドを受け取ります:
awk '{system("md5 "$2)}' md5checksums.txt
しかし、これは単にmd5値を取得します
MD5 (./GCF_000959505.1_ASM95950v1_assembly_report.txt) = b0da7ead9d82a3494d7e0a7099871ef4
MD5 (./GCF_000959505.1_ASM95950v1_assembly_stats.txt) = 7ff32cbb16daf46c87b3546ad576ff66
MD5 (./GCF_000959505.1_ASM95950v1_cds_from_genomic.fna.gz) = 3a30966523a36368ab432f666001f80a
最初の列に基づいて計算されたmd5を抽出したいと思います。md5checksums.txt
awkでこのようなことができると思いましたが、うまくいきません。
awk '{system("md5 "$2" | awk HERE EVALUATE RESULTS AND CHECK IF EQUAL TO $1")}' md5checksums.txt
答え1
なぜあなたが関与したのか少し混乱していますawk
。
GNU生成ファイルでMD5チェックサムを確認するにはmd5sum
:
md5sum -c file.txt
md5
またはユーティリティがサポートするOpenBSDまたはNetBSDシステム-c filename
(FreeBSDまたはmacOSではありません):
md5 -c file.txt
あなたの場合はfile.txt
あなたのファイルになりますmd5checksums.txt
。