BASH – Script para eliminar todos los espacios en blanco.-

dara como resultado :

Ejemplo de su ejecución. Para este caso se trabajara sobre un archivo «texto.txt». El script leera linea por linea el archivo y procedera a cortar con el comandi «cut» por medio del delimitador «|» . Posterior a esto procedera a eliminar los espacios delante y atras de la variables.

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

5 respuestas a BASH – Script para eliminar todos los espacios en blanco.-

  1. Leo dijo:

    tengo algo asi:
    1234 56789 |123092 | 12203|31/05/2020 15:28:42 |05/01/2021 12:10:44

    Y quiero solo quitar los espacios antes del «|» o despues del «|» ya que esta informacion debo ingresarla por loader y no puedo permitirme quitar los espacios que estan entre la fecha o entre los numeros

    • Gonzalo Reiser A. dijo:

      Esto es facil de realizar. Lo debes hacer primero con el comando CUT una vez separadas las variables, les quitas los espacios al principio y al final. DEspues vuelves a unir el registro con el comando echo. Lo grabas en un nuevo archivo.

    • Anónimo dijo:

      Amigo bune dia como quedo el script para la solucion.
      1234 56789 |123092 | 12203|31/05/2020 15:28:42 |05/01/2021 12:10:44

      Y quiero solo quitar los espacios antes del «|» o despues del «|» ya que esta informacion debo ingresarla por loader y no puedo permitirme quitar los espacios que estan entre la fecha o entre los numeros

  2. Jairo dijo:

    Amigo buen dia como quedo la solucion en el script

    JS

  3. Se me ocurre algo asi, pero puden haber muchas soluciones. Esto es algo que funciona, el script lee el archivo linea por linea, luego lo separon en campos (delimitador «|») y despues les quito los espacios a la izquiera y a la derecha de la variable. Podria haber utilizado una función, para ahorar lineas de codigo. En fin este codigo se puede mejorar. Espero sirva.

    #!/bin/bash
    echo "TEXTO ORIGINAL"
    echo "--------------"
    while read linea; do
    echo $linea
    done < texto.txt echo "TEXTO CORREGIDO" echo "---------------" while read linea; do text1=
    echo $linea | cut -d"|" -f1
    text1=»${text1#»${text1%%[![:space:]]*}»}»
    text1=»${text1%»${text1##*[![:space:]]}»}»
    text2=echo $linea | cut -d"|" -f2
    text2=»${text2#»${text2%%[![:space:]]*}»}»
    text2=»${text2%»${text2##*[![:space:]]}»}»
    text3=echo $linea | cut -d"|" -f3
    text3=»${text3#»${text3%%[![:space:]]*}»}»
    text3=»${text3%»${text3##*[![:space:]]}»}»
    text4=echo $linea | cut -d"|" -f4
    text4=»${text4#»${text4%%[![:space:]]*}»}»
    text4=»${text4%»${text4##*[![:space:]]}»}»
    text5=echo $linea | cut -d"|" -f5
    text5=»${text5#»${text5%%[![:space:]]*}»}»
    text5=»${text5%»${text5##*[![:space:]]}»}»
    echo «$text1|$text2|$text3|$text4|$text5»
    done < texto.txt user@server1 $ bash prueba.sh TEXTO ORIGINAL -------------- 1534 55789 |723092 | 12203|31/05/2020 15:28:42 |05/01/2021 12:10:44 1264 56589 |173094 | 12203|31/05/2020 15:28:42 |06/01/2021 14:10:44 1237 56769 |127097 | 12203|31/05/2020 15:28:42 |07/01/2021 18:10:44 TEXTO CORREGIDO --------------- 1534 55789|723092|12203|31/05/2020 15:28:42|05/01/2021 12:10:44 1264 56589|173094|12203|31/05/2020 15:28:42|06/01/2021 14:10:44 1237 56769|127097|12203|31/05/2020 15:28:42|07/01/2021 18:10:44 userg@server1 $

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.