utilizar uso usar test sistema sirve script quitar que programacion para operativo operaciones manejo listar linea letras insertar especiales eliminar ejemplos crucigrama construir como comandos comando caracteres cadenas borrar aritmeticas archivos bash unix command truncate

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.


Aquí hay una función simple, probada en bash. El primer parámetro de la función es la cadena, el segundo parámetro es la cantidad de caracteres que se van a quitar

function stringStripNCharsFromStart { echo ${1:$2:${#1}} }

Uso:


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