我有一个示例jtl文件,如下所示: 我必须读取JR_ *突出显示的每个操作所花费的时间,时间在t =""从最新的10个jtl文件中,计算出平均值。 我正在尝试做一个shell脚本,它将执行这个特定的操作,计算最后10次运行的特定操作的平均值,(读取最新的10个jtl文件)
<sample t="5203" it="0" lt="0" ts="1493818151051" s="true" lb="JR_READ" rc="200" rm="OK" tn="Thread Group 1-2" dt="text" by="0" ng="2" na="2"/>
<sample t="3584" it="0" lt="0" ts="1493818151660" s="true" lb="JR_WRITE" rc="200" rm="OK" tn="Thread Group 1-2" dt="text" by="0" ng="2" na="2"/>
<sample t="61280" it="0" lt="0" ts="1493818152265" s="true" lb="JR_SAVE" rc="200" rm="OK" tn="Thread Group 1-2" dt="text" by="0" ng="2" na="2"/>
<sample t="129935" it="0" lt="0" ts="1493818152870" s="true" lb="JR_DELETE" rc="200" rm="OK" tn="Thread Group 1-2" dt="text" by="0" ng="2" na="2"/>
我正在尝试这样的事情:
#!/bin/sh
cd /tests/unit/
fNames=$(ls -t | grep -i jenkins-TEST_UNIT | head -n 10)
#printf "%s\n" "${fNames[@]}"
## now loop through the above array
for i in "${fNames[@]}"
do
#echo "$i"
grep -I "JR_READ" $i/Summary.jtl | awk -F '"' '{print $2}'
# or do whatever with individual element of the array
done
我得到了&#34;时间&#34;只需要一个文件,其余的目录我得到这个错误,可能是什么原因? grep仅适用于一个文件。
grep: jenkins-TEST_UNIT12: Is a directory
grep: jenkins-TEST_UNIT9: Is a directory
grep: jenkins-TEST_UNIT8: Is a directory
grep: jenkins-TEST_UNIT7: Is a directory
grep: jenkins-TEST_UNIT6: Is a directory
grep: jenkins-TEST_UNIT5: Is a directory
grep: jenkins-TEST_UNIT4: Is a directory
grep: jenkins-TEST_UNIT3: Is a directory
grep: jenkins-TEST_UNIT2: Is a directory
60665
欢迎您的想法, 感谢
答案 0 :(得分:0)
有几个更好的选择:
如果没有为您播放选项,最好考虑computing the average via XSLT