在linux中,如何一次计算多个文件的md5,并将输出放在一个文本文件中?
in linux, how to compute the md5 of several files at once, and put the output in a text file?
我的路径中有很多文件看起来像 file_01.gz
、file_02.gz
等
我想为它们中的每一个计算 md5 checksums
,并将输出存储在一个文本文件中,类似
filename md5
file01 fjiroeghreio
在 linux 上可以吗?
非常感谢!
Linux 已经有一个名为 md5sum 的工具,所以您需要做的就是为您想要的每个文件调用它。在下面的方法中,您将获得 md5sum 工具的默认格式 "SUM NAME",找到的每个文件每行一个。通过使用双重重定向 (>>),每次调用都会附加到输出文件的底部,sums.txt
#!/bin/bash
for f in *.gz; do
md5sum "$f" >> sums.txt
done
以上仅供说明,您可能应该检查输出文件是否预先存在,处理错误等
有很多方法可以做到这一点,所以这一切都取决于进一步的要求。格式必须是您声明的格式,它必须递归目录等吗?
md5sum file*.gz > output.txt
输出文件是 space 分隔的,没有 header
您可以使用 shell filename expansion:
md5sum *.gz > file
我的路径中有很多文件看起来像 file_01.gz
、file_02.gz
等
我想为它们中的每一个计算 md5 checksums
,并将输出存储在一个文本文件中,类似
filename md5
file01 fjiroeghreio
在 linux 上可以吗?
非常感谢!
Linux 已经有一个名为 md5sum 的工具,所以您需要做的就是为您想要的每个文件调用它。在下面的方法中,您将获得 md5sum 工具的默认格式 "SUM NAME",找到的每个文件每行一个。通过使用双重重定向 (>>),每次调用都会附加到输出文件的底部,sums.txt
#!/bin/bash
for f in *.gz; do
md5sum "$f" >> sums.txt
done
以上仅供说明,您可能应该检查输出文件是否预先存在,处理错误等
有很多方法可以做到这一点,所以这一切都取决于进一步的要求。格式必须是您声明的格式,它必须递归目录等吗?
md5sum file*.gz > output.txt
输出文件是 space 分隔的,没有 header
您可以使用 shell filename expansion:
md5sum *.gz > file