Odpowiedzi:
Zastosowanie cut
. Na przykład. aby usunąć pierwsze 4 znaki z każdego wiersza (tzn. rozpocząć od piątego znaku):
tail -f logfile | grep org.springframework | cut -c 5-
grep --line-buffered "org.springframework
aby rozwiązać ten problem.
Możesz użyć cut
:
cut -c N- file.txt > new_file.txt
-c:
postacie
file.txt:
plik wejściowy
new_file.txt:
plik wyjściowy
N-:
Znaki od N do końca są wycinane i wyprowadzane do nowego pliku.
Może mieć także inne argumenty, takie jak: „N”, „N-M”, „-M” oznacza odpowiednio n-ty znak, n-ty do m-tego znaku, odpowiednio od pierwszego do m-tego znaku.
Spowoduje to wykonanie operacji na każdej linii pliku wejściowego.
tail -f logfile | grep org.springframework | cut -c 900-
usunie pierwsze 900 znaków
cut
używa 900-, aby pokazać 900-ty znak do końca linii
jednak kiedy przepuszczam to wszystko przez grep, nic nie dostaję
Myślę, że awk
byłoby najlepszym narzędziem do tego, ponieważ może zarówno filtrować, jak i wykonywać niezbędne funkcje manipulacji ciągiem na filtrowanych liniach:
tail -f logfile | awk '/org.springframework/ {print substr($0, 6)}'
lub
tail -f logfile | awk '/org.springframework/ && sub(/^.{5}/,"",$0)'