2016-03-18 16 views
1

Verileri aşağıdaki günlük dosyasından ayıklamak için yardım isteyin.Günlük dosyasındaki verileri ayıklamak için yardıma ihtiyacınız var

Giriş veriler:

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

Kodu:

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' 

Ben sadece Yıl/ay/gün olabilir ayıklamak için, hatta bu sayede örnek günlük girişinde belirtilen farklı biçim olabilir ihtiyacımız değeri Ama değerler

Çıktı Gerekli ... vb schdate = 2016 gibi önünde küme parantezleri ve değişken çevrelediği edilecektir:

GNU için
2016/02/17/01 
2016/02/17 
2016/02 

cevap

0

sed:

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

Çıktı:

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

Bkz: The Stack Overflow Regular Expressions FAQ

+0

bakmak edin: [? Birisi benim soruya cevap verdiğinde ne yapmalıyım] (http://stackoverflow.com/help/someone-answers) – Cyrus

İlgili konular