2016-04-06 14 views
2

Her bir satırdaki birden çok öğeyi bir httpd günlük dosyasında eşleştirmeye çalışıyorum. çizgiler şuna benzer: Rakamları, zaman damgası ve _super değişkenin değerini ayıklamak için çalışıyorumawk eşleşmesi bir sıradan birden çok düzenli ifade dizgisi ve rakamı

192.168.0.1 - - [06/Apr/2016:16:35:42 +0100] "-" "100" "GET /breacher/gibborum.do?firstnumber=1238100121135&simple=1238100121135&protocol=http&_super=telco1 HTTP/1.1" 200 161 "-" "NING/1.0" 
192.168.0.1 - - [06/Apr/2016:16:35:44 +0100] "-" "00" "GET /breacher/gibborum.do?firstnumber=1237037630256&simple=1237037630256&protocol=http&_super=telco1 HTTP/1.1" 200 136 "-" "NING/1.0" 
192.168.0.1 - - [06/Apr/2016:16:35:44 +0100] "-" "00" "GET /breacher/gibborum.do?firstnumber=1238064400578&simple=1238064400578&protocol=http&_super=telco1 HTTP/1.1" 200 136 "-" "NING/1.0" 

.

awk '{match ($0, /123([0-9]+)/, arr); print $4, arr[0]}' 

nasıl yanı _super = değişkenin sonunda değerini ayıklamak Lütfen: Şimdiye kadar sayıları ve bununla damgası çıkarabilir?

cevap

1

Böyle Senaryonu değişebilir: (gsub ve $9 ekleyin): çok Lars

awk '{match ($0, /123([0-9]+)/, arr); gsub(/.*_super=/, "",$9); print $4, arr[0], $9}' 
+0

Teşekkür! İşe yaradı! – Sina