Bash Eliminar nueva línea de la cadena

Sheeraz Gul 20 junio 2023
  1. Crear una cadena con caracteres de nueva línea en Bash
  2. Eliminar caracteres de nueva línea de una cadena usando Bashims en Bash
  3. Eliminar caracteres de nueva línea de una cadena usando el comando tr en Bash
  4. Eliminar caracteres de nueva línea de una cadena usando la opción extglob en Bash
Bash Eliminar nueva línea de la cadena

Este tutorial demuestra cómo eliminar una nueva línea de una cadena en Bash.

Crear una cadena con caracteres de nueva línea en Bash

A veces, se requiere que no haya un carácter de nueva línea en una cadena. Bash proporciona varios métodos para eliminar los caracteres de nueva línea de una cadena determinada.

Para ejecutar el ejemplo, en primer lugar, cree una cadena con caracteres de nueva línea. Vamos a crear una nueva cadena usando el siguiente comando:

DemoString=$'\nThis is delftstack.com\r   \n'
echo "|${DemoString}|"

El comando anterior creará la cadena con los caracteres de nueva línea \n. Ver la salida:

|
This is delftstack.com

|

Eliminar caracteres de nueva línea de una cadena usando Bashims en Bash

Los bashisms son //, que se pueden usar para eliminar los caracteres de nueva línea de una cadena. Este operador tomará el parámetro que desea eliminar de las cadenas.

Veamos cómo usar // para eliminar los caracteres de nueva línea de una cadena:

echo "|${DemoString//[$'\t\n\r']}|"
echo "|${DemoString//[$'\t\n\r' ]}|"

Hay dos comandos, uno con los parámetros \t\n\r y el otro con los parámetros \t\n\r y un carácter de espacio. El comando anterior usa bashisms para eliminar el carácter de nueva línea y los caracteres de espacio.

Ver la salida:

|This is delftstack.com   |

|Thisisdelftstack.com|

Eliminar caracteres de nueva línea de una cadena usando el comando tr en Bash

El comando tr funciona de manera similar a bashims; borra los caracteres en los parámetros. El comando tr también se usa para sustituir los caracteres en la cadena.

Pero por ahora, podemos centrarnos en la opción de eliminar para la que usamos -d en el comando.

Probemos un ejemplo que eliminará el carácter de nueva línea de la cadena dada usando el comando tr:

DemoString=$'\nThis is delftstack.com\r   \n'
echo "|$DemoString|"|tr -d '\n\r'

El comando anterior intentará eliminar el carácter de nueva línea de la cadena dada. Ver la salida:

|This is delftstack.com   |

También podemos eliminar el espacio extra usando el comando tr. Ver ejemplo:

DemoString=$'\nThis is delftstack.com\r   \n'
echo "|$DemoString|"|tr -d '\n\r '

El comando anterior también eliminará el espacio de la cadena. Ver la salida:

|Thisisdelftstack.com|

Eliminar caracteres de nueva línea de una cadena usando la opción extglob en Bash

La opción extglob también proporciona funcionalidad para eliminar espacios en blanco y caracteres de nueva línea. Para usar esta opción, antes que nada, asegúrese de que esté habilitada en Bash.

El extglob proporciona muchas opciones que se pueden utilizar para diferentes operaciones. Consulte la tabla a continuación.

Opción Descripción
? Se puede usar para hacer coincidir ninguna o una ocurrencia de los patrones dados.
* Se puede usar para hacer coincidir ninguna o más ocurrencias de los patrones dados.
+ Se puede usar para hacer coincidir ninguna o más ocurrencias de los patrones dados.
@ Puede coincidir con uno de los patrones dados.
! (lista de patrones) Puede coincidir con cualquier cosa excepto con uno de los patrones dados.

Probemos un ejemplo que eliminará el carácter de nueva línea de la cadena dada usando la opción extglob. Ver el ejemplo:

shopt -s extglob
shopt extglob
DemoString=$'\nThis is delftstack.com\r   \n'
echo "|${DemoString%%*([$'\t\r\n '])}|"

El shopt -s extglob se usa para habilitar la opción extglob en Bash, y shopt extglob se usa para mostrar el estado de extglob, y finalmente, el último comando eliminará el carácter de nueva línea usando el extglob.

Ver la salida:

extglob         on
|
This is delftstack.com|
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - Bash String