Bash Eliminar nueva línea de la cadena
- Crear una cadena con caracteres de nueva línea en Bash
- Eliminar caracteres de nueva línea de una cadena usando Bashims en Bash
-
Eliminar caracteres de nueva línea de una cadena usando el comando
tr
en Bash -
Eliminar caracteres de nueva línea de una cadena usando la opción
extglob
en Bash
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 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