Belirli bir alanı bir satırdan nasıl kesebilirim?Kesilmiş veya Awk kullanan belirli alanlar
Sorun, alan değiştiğinden cut -d ' ' -f 1,2,3,4,5,9,10,11,12,13,14
kullanamıyorum.
ı/var/log/test adlı bir dosya varsa ve dosya içindeki satırlardan birini şöyle diyelim:
Apr 12 07:48:11 172.89.92.41 %ASA-5-713120: Group = People, Username = james.robert, IP = 219.89.259.32, PHASE 2 COMPLETED (msgid=9a4ce822)
Sadece Adı ve Zaman/Tarih almak gerekir
(lütfen
grep "james" /var/log/tes | cut -d ' ' -f 1,2,3,4,5,9,10,11,12,13,14
benim için çalışmaz sahip olduğu Yani:. not sütunları ı kullandığınızda ben adı = james.robert eşleşmesi gerekir nedeni budur ve Nis 12 07:48:11
, sürekli değişiyor usernam ile eşleştirmek e ve sadece kullanıcı adı ve veri/zaman yazdırır. Baska öneri? Tamam
yüzden bu kullandığınızda:
awk -F'[ ,]' '$12~/username/{print $1,$2,$3,$12}' /var/log/test
ancak bazı kullanıcılar için çalışır, ancak diğerleri değil, alanlar ilerlemeye devam çünkü.
12 Nisan 06:00:39 james.robert
Ama bu kullanıcı bu komutu çalıştığınızda, çalışmıyor:
bu komutun çıktısı örneği. Aşağıya bakın: Eğer bakım parçalara ulaşmak için substr()
ve length()
kullanmak ardından virgül ile ayırmak için awk
kullanıp,
Apr 8 12:16:13 172.24.32.1 %ASA-6-713228: Group = people, Username = marry.tarin, IP = 209.157.190.11, Assigned private IP address 192.168.237.38 to remote user
İlk alan her zaman tarih midir? –
evet öyle. ama kullanıcı adı hareket etmeye devam ediyor. –
Örnek olarak birden fazla kayıt gönderebilirsiniz. Bir kaçımız tarafından sorulmuştunuz. Karanlıkta çekim yapıyoruz ve kenar durumlarınızda tahmin edemiyoruz. – JNevill