相关疑难解决方法(0)

md5sum 在校验和前面加上 '\'

在查找名称中带有“\”的文件的校验和时,为什么 md5sum 在校验和前面加上“\”?

$ md5sum /tmp/test\\test
\d41d8cd98f00b204e9800998ecf8427e  /tmp/test\\test
Run Code Online (Sandbox Code Playgroud)

每个其他实用程序也是如此。

coreutils hashsum checksum

22
推荐指数
2
解决办法
1911
查看次数

我可以复制管道的输出吗?

嗯,任务很简单:我的脚本的一部分必须计算 md5 和 sha1 哈希值。输入是一个文件 - 大文件 - 必须将散列放入 MD 和 SH 变量中,以便以后的输出组合。

虽然处理后的文件非常大(数百 GB),但我尝试在读取后使用某种数据多次使用。我发现了一种叫做进程替换的东西,我采用了下一种方式:

$ dd if=big.tgz 2>/dev/null |tee >(sha1sum ) > >(md5sum ) ;
Run Code Online (Sandbox Code Playgroud)

代替:

$ SH=$(sha1sum big.tgz); MD=$(md5sum big.tgz);
Run Code Online (Sandbox Code Playgroud)

但我发现了下一个:

  • 显然没有资源也没有节省时间,因为两者都需要大约。40 秒(对于 4.776 GB 文件)

  • 我不知道如何将子流程的结果保存>(md5sum )到变量 MD 中以便稍后在脚本中使用它

我试图理解 pipexec 但即使是漂亮的彩色插图也没有成功。

除了 VAR=$(command) 之外,还有其他方法可以将输出重定向到 vriable 吗?

pipe process-substitution variable

7
推荐指数
1
解决办法
721
查看次数