Na przykład mógłbym chcieć:
tail -f logfile | grep org.springframework | <command to remove first N characters>
Myślałem, że tr
może to zrobić, ale nie jestem pewien.
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.i zastąpisz 5 przez liczbę, którą chcesz ... to powinno załatwić sprawę ...
EDYCJA, jeśli dla każdej linii
sed 's/^.\{5\}//g' logfile
źródło
Możesz użyć
cut
:-c:
postaciefile.txt:
plik wejściowynew_file.txt:
plik wyjściowyN-:
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.
źródło
usunie pierwsze 900 znaków
cut
używa 900-, aby pokazać 900-ty znak do końca liniijednak kiedy przepuszczam to wszystko przez grep, nic nie dostaję
źródło
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:lub
źródło
Oto prosta funkcja, przetestowana w bash. Pierwszy parametr funkcji to ciąg znaków, drugi parametr to liczba znaków do usunięcia
function stringStripNCharsFromStart { echo ${1:$2:${#1}} }
Stosowanie:
źródło