¿Qué es un comando de Unix para eliminar los primeros N caracteres de una línea?
Por ejemplo, es posible que desee:
tail -f logfile | grep org.springframework | <command to remove first N characters>
Estaba pensando que tr
podría tener la capacidad de hacer esto, pero no estoy seguro.
Usar cut
. P.ej. para eliminar los primeros 4 caracteres de cada línea (es decir, comenzar en el quinto carácter):
tail -f logfile | grep org.springframework | cut -c 5-
sed 's/^.\{5\}//' logfile
y reemplazas 5 por el número que deseas... debería funcionar...
EDITAR
si para cada línea
sed 's/^.\{5\}//g' logfile
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 cortarlos y enviarlos al nuevo archivo.
También puede tener otros argumentos como: 'N', 'NM', '-M' que significa enésimo carácter, enésimo a mésimo carácter, primero a mésimo carácter respectivamente.
Esto realizará la operación en cada línea del archivo de entrada.
x=hello
echo ${x:1}
regresa ello
reemplace 1 con N según sea necesario
tail -f logfile | grep org.springframework | cut -c 900-
eliminaría los primeros 900 caracteres
cut
usa 900- para mostrar el carácter 900 hasta el final de la línea
sin embargo, cuando canalizo todo esto a través de grep no obtengo nada