Veritabanına eklemek için bağlama günlüklerini temizlemek için bir kabuk komut dosyasının parçası olarak sed çalıştırıyorum. sed komutlarınSED'yi bir satırın ilk 10 karakteriyle sınırlandırma
biri şu: Bir awk ifadesi için ayırıcı olarak:
sed -i 's/-/:/g' $DPath/named.query.log
Bu aynı zamanda kullanıyorum (tire içeren tüm kaynak isteklerinde bozan olarak sorunlu olduğu ortaya çıkıyor daha aşağı).
Benim sorum, yukarıdaki sed komutunu, hattın sadece ilk on karakteriyle nasıl sınırlayabilirim? Bunu yapan belirli bir anahtar görmedim, ve RegEx ile işe yarayan bir tane geliştirmeye bile başlamaya yetecek kadar yakınım yok. Modelin bir kaynak isteğinin bir parçası olabileceğinden, regex'i önceki sayılarla eşleştirmek için kullanamıyorum. Heck, #### - ## - ## için desen eşleştirmesi bile kullanamıyorum çünkü tekrar, kaynağın bir parçası olabilir.
Herhangi bir fikir için minnettarız.
Efendim, bunu yapacağımı düşünüyorum. Çok teşekkür ederim! – MikeH
Ya da (test edilmemiş) perl -pe 'substr ($ _, 0, 10) = ~ s /:/-/g' dosya ' – tripleee
@tripleee: (Denenmemiş) yorumunuz benim için çalışmıyor (ama ben perl bilmiyorum). –