在查找名称中带有“\”的文件的校验和时,为什么 md5sum 在校验和前面加上“\”?
$ md5sum /tmp/test\\test
\d41d8cd98f00b204e9800998ecf8427e /tmp/test\\test
Run Code Online (Sandbox Code Playgroud)
每个其他实用程序也是如此。
嗯,任务很简单:我的脚本的一部分必须计算 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 吗?