2016-03-18 2 views
1

Ищет помощь для извлечения данных из приведенного ниже файла журнала.Нужна помощь в извлечении данных из файла журнала

Лог данных:

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]* 

Код:

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' 

Значение Мне нужно извлечь можно только год/месяц/день или даже может быть другой формат также упоминается в записи журнала образца , Но значения будут заключены в фигурные скобки и переменные спереди, такие как schdate = 2016 и т. Д.

Требуемый выход:

2016/02/17/01 
2016/02/17 
2016/02 

ответ

0

С GNU СЭД:

sed 's/.*{\(.*\)}.*/\1/;s/[^= ]\+=//g;s/, /\//g' file 

Выход:

 
2016/02/17/01 
2016/02/17 
2016/02 

См: The Stack Overflow Regular Expressions FAQ

+0

Пожалуйста, обратите внимание на: [Что я должен делать, когда кто-то отвечает на мой вопрос] (http://stackoverflow.com/help/someone-answers) – Cyrus