我正在使用并行运行多个测试套件,并且我想在并行的每个输出行前面加上日期时间以方便调试。
这就是我并行运行的方式
parallel -j12 --linebuffer --colsep ';' --tagstring "$(date +%T-%Z) - {1}" -a commands bash -c {2}
但是,标记字符串是在并行执行时求值的,而不是在每个输出时求值。有没有办法在每条输出线上打印日期?
答案1
尝试:
parallel -j12 --linebuffer --colsep ';' --tagstring '{=1 $_=`date +%T-%Z`;chomp=} - {1}' -a commands bash -c {2}
您通常不需要bash -c
。