捕获几个管道命令的输出



直到今天,我总是能够找到所有狂欢问题的答案。但是现在我卡住了。我正在测试20TB RAID6在LSI 9265上工作的配置。

我写了脚本以创建/dev/urandom创建文件,我正在创建第二个用两个插件来计算所有文件的MD5。一种是使用时间命令来计算MD5SUM执行时间第二是使用PV命令显示每个MD5SUM命令的进度

我的命令看起来像这样:

filename="2017-03-13_12-38-08"
/usr/bin/time -f "real read %E" pv $filename | md5sum | sed "s/-/$filename /"

这是示例终端打印:

/usr/bin/time -f "real read %E" pv $i | md5sum | sed "s/-/$i/"
1GiB 0:00:01 [ 551MiB/s] [==================================================================================================>] 100%
real read 0:01.85
f561af8cc0927967c440fe2b39db894a  2017-03-13_12-38-08

,我想将其记录到文件中。我使用2>& 1使用TEE使用括号失败了所有尝试。我知道PV使用STDERR,但这无助于找到解决方案。我只能捕获" F561AF8CC0927967C440FE2B39DB894A 2017-03-13_12-38-08_DONE"这还不够。

这是解决方案:

(time pv -f $filename | md5sum | sed "s/-/$filename/") 2>&1 | tee output.log 

或同等的,但不仅印刷到终端文件中。log

(time pv -f $filename | md5sum | sed "s/-/$filename/") > output.log 2>&1

相关内容

  • 没有找到相关文章

最新更新