寻求帮助从以下日志文件中提取数据。
记录数据:
function boo($foo){
echo $foo;
}
boo('bar'); // output: bar
代码:
INFO : Partition test.t_abc_cdfn_gprs{schdate_year=2016, schdate_month=02, schdate_day=17, schtime_hour=01} stats: [numFiles=0, numRows=4265004, totalSize=0, rawDataSize=0]
INFO : Partition test.t_abc_glob_gprs{year=2016, month=02, day=17} stats: [numFiles=0, numRows=4265004, totalSize=0, rawDataSize=0]
INFO : Partition test.t_abc_part_gprs{part1=2016, part2=02} stats: [numFiles=0, numRows=4265004, totalSize=0, rawDataSize=0]*
我需要提取的值只能是年/月/日,或者甚至可能是样本日志条目中也提到的不同格式,但是这些值将用花括号和变量括起来,如schdate = 2016等......
需要输出:
echo "INFO : Partition test.t_abc_cdfn_gprs{schdate_year=2016, schdate_month=02, schdate_day=17, schtime_hour=16} stats: [numFiles=0, numRows=16123348, totalSize=0, rawDataSize=0]" | sed -n '/{/{s/.*{//;s/\}/,/;p}' | awk -F':' '{print $1}' | sed 's/stats//g' | sed 's%,%/%g'
答案 0 :(得分:0)
使用GNU sed:
sed 's/.*{\(.*\)}.*/\1/;s/[^= ]\+=//g;s/, /\//g' file
输出:
2016/02/17/01 2016/02/17 2016/02