bash - uso - ¿Qué es un comando de Unix para eliminar los primeros N caracteres de una línea?
uso del comando cut en unix (6)
Por ejemplo, podría querer:
tail -f logfile | grep org.springframework | <command to remove first N characters>
Estaba pensando que tr
podría tener la habilidad de hacer esto, pero no estoy seguro.
Creo que awk
sería la mejor herramienta para esto, ya que puede filtrar y realizar las funciones necesarias de manipulación de cadenas en líneas filtradas:
tail -f logfile | awk ''/org.springframework/ {print substr($0, 6)}''
o
tail -f logfile | awk ''/org.springframework/ && sub(/^.{5}/,"",$0)''
Puedes usar cut
:
cut -c N- file.txt > new_file.txt
-c:
personajes
file.txt:
archivo 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 n-ésimo carácter, n-ésimo carácter, primero hasta m-ésimo carácter, respectivamente.
Esto realizará la operación en cada línea del archivo de entrada.
Use 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-
sed ''s/^./{5/}//'' logfile
y reemplazas 5 por el número que quieras ... debería hacer el truco ...
EDIT si para cada línea sed ''s/^./{5/}//g'' logfile
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 obtengo nada