Yanıtlar:
Kullanın cut
. Örneğin. her satırın ilk 4 karakterini soymak için (yani 5. karakterden başlayın)
tail -f logfile | grep org.springframework | cut -c 5-
grep --line-buffered "org.springframework
Bu sorunu çözmek için kullanın .
Şunları kullanabilirsiniz cut
:
cut -c N- file.txt > new_file.txt
-c:
karakterler
file.txt:
giriş dosyası
new_file.txt:
çıktı dosyası
N-:
Kesilecek ve yeni dosyaya çıktılanacak N'den sonuna kadar olan karakterler.
Ayrıca 'N', 'N-M', '-M' anlamına gelen nth karakter, nth ila mth karakter, sırasıyla birinci ila mth karakter anlamına gelir.
Bu işlem, giriş dosyasının her satırına işlemi gerçekleştirir.
tail -f logfile | grep org.springframework | cut -c 900-
ilk 900 karakteri kaldıracaktı
cut
900- karakterini satırın sonuna kadar göstermek için 900-
ancak bütün bunları grep ile paylaştığımda hiçbir şey almıyorum
awk
Hem filtre hem de filtrelenmiş satırlarda gerekli dize manipülasyon fonksiyonları gerçekleştirmek gibi bunun için en iyi araç olacağını düşünüyorum :
tail -f logfile | awk '/org.springframework/ {print substr($0, 6)}'
veya
tail -f logfile | awk '/org.springframework/ && sub(/^.{5}/,"",$0)'