并行检查 md5 文件
parallel check md5 file
我有一个包含很多行的 md5sum 文件。我想使用 GNU parallel 来加速 md5sum 检查过程。在 md5sum 中,当没有文件输入时,它会从 stdin 中获取 md5 字符串。我试过这个:
cat checksums.md5 | parallel md5sum -c {}
但是出现这个错误:
md5sum 445350b414a8031d9dd6b1e68a6f2367 testing.gz: No such file or directory
如何并行进行 md5sum 检查?
您需要选项 --pipe
。在此模式下,并行将标准输入分成块,并通过标准输入将每个块提供给命令,详情请参阅 man parallel
:
cat checksums.md5 | parallel --pipe md5sum -c -
块的默认大小为 1 MB,可以使用 --block
选项更改。
假设 checksums.md5 的格式为:
d41d8cd98f00b204e9800998ecf8427e My file name
运行:
cat checksums.md5 | parallel --pipe -N1 md5sum -c
如果您的文件很小:-N100
如果这不能加快您的处理速度,请确保您的磁盘足够快:md5sum 可以处理 500 MB/s。 iostat -dkx 1
可以告诉您磁盘是否存在瓶颈。
我有一个包含很多行的 md5sum 文件。我想使用 GNU parallel 来加速 md5sum 检查过程。在 md5sum 中,当没有文件输入时,它会从 stdin 中获取 md5 字符串。我试过这个:
cat checksums.md5 | parallel md5sum -c {}
但是出现这个错误:
md5sum 445350b414a8031d9dd6b1e68a6f2367 testing.gz: No such file or directory
如何并行进行 md5sum 检查?
您需要选项 --pipe
。在此模式下,并行将标准输入分成块,并通过标准输入将每个块提供给命令,详情请参阅 man parallel
:
cat checksums.md5 | parallel --pipe md5sum -c -
块的默认大小为 1 MB,可以使用 --block
选项更改。
假设 checksums.md5 的格式为:
d41d8cd98f00b204e9800998ecf8427e My file name
运行:
cat checksums.md5 | parallel --pipe -N1 md5sum -c
如果您的文件很小:-N100
如果这不能加快您的处理速度,请确保您的磁盘足够快:md5sum 可以处理 500 MB/s。 iostat -dkx 1
可以告诉您磁盘是否存在瓶颈。