直到今天我总能找到所有bash问题的答案。但现在我卡住了。我正在测试在LSI 9265上运行的20TB RAID6配置。
我编写了从/ dev / urandom创建文件的脚本,我创建了第二个从所有带有两个插件的文件中计算md5。 一种是使用time命令计算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" 这还不够。
答案 0 :(得分:1)
这是解决方案:
(time pv -f $filename | md5sum | sed "s/-/$filename/") 2>&1 | tee output.log
或等效但不打印到仅终端文件到output.log
(time pv -f $filename | md5sum | sed "s/-/$filename/") > output.log 2>&1