Respuestas:
Uso cut
. P.ej. para quitar los primeros 4 caracteres de cada línea (es decir, comenzar en el 5 ° carácter):
tail -f logfile | grep org.springframework | cut -c 5-
grep --line-buffered "org.springframework
para resolver ese problema.
Puedes usar cut
:
cut -c N- file.txt > new_file.txt
-c:
caracteres
file.txt:
fichero de entrada
new_file.txt:
archivo de salida
N-:
Caracteres desde N hasta el final para cortar y enviar al nuevo archivo.
También puede tener otros argumentos como: 'N', 'N-M', '-M' que significa enésimo carácter, enésimo a enésimo carácter, primero a enésimo carácter respectivamente.
Esto realizará la operación en cada línea del archivo de entrada.
tail -f logfile | grep org.springframework | cut -c 900-
eliminaría los primeros 900 caracteres
cut
usa 900- para mostrar el carácter 900 al final de la línea
sin embargo, cuando canalizo todo esto a través de grep, no consigo nada
Creo que awk
sería la mejor herramienta para esto, ya que puede filtrar y realizar las funciones de manipulación de cadenas necesarias en las líneas filtradas:
tail -f logfile | awk '/org.springframework/ {print substr($0, 6)}'
o
tail -f logfile | awk '/org.springframework/ && sub(/^.{5}/,"",$0)'
Aquí hay una función simple, probada en bash. El primer parámetro de la función es una cadena, el segundo parámetro es el número de caracteres que se eliminarán
function stringStripNCharsFromStart {
echo ${1:$2:${#1}}
}