Cadena multilínea en Bash
-
Usar
here-document
para hacer cadenas de varias líneas en Bash - Utilice la variable de shell para hacer cadenas de varias líneas en Bash
-
Utilice
printf
para hacer cadenas de varias líneas en Bash -
Utilice
echo
con la opción-e
para hacer cadenas de varias líneas en Bash -
Utilice
echo
para hacer cadenas de varias líneas en Bash
Este tutorial demuestra diferentes formas de imprimir una cadena de varias líneas en un archivo en bash sin poner espacio extra (sangría) mediante el uso de here-document
, variable de shell, printf
, echo
y echo
con Opción -e
.
Usar here-document
para hacer cadenas de varias líneas en Bash
Here-document
proporciona una forma interactiva de ingresar una cadena de varias líneas en un archivo. El EOF
se conoce como Here Tag
. La Here Tag
le dice al shell que ingresará una cadena de varias líneas hasta la Here Tag
, ya que actúa como un delimitador. El <<
se utiliza para establecer la Here Tag
. El >
se utiliza para la redirección de entrada. Redirige la entrada al archivo especificado, output.txt
, en nuestro caso.
cat << EOF > output.txt
> Hello
> World
> !
> EOF
Comprobemos el contenido del archivo output.txt
con el comando cat
.
cat output.txt
En la salida, vemos que cada conjunto de palabras tiene su propia línea y no hay espacios adicionales.
Hello
World
!
Utilice la variable de shell para hacer cadenas de varias líneas en Bash
Aquí, estamos usando una variable de shell llamada greet
. Hemos asignado una cadena de varias líneas para greet
.
greet="Hello
> ,
> wolrd
> !"
El siguiente comando obtiene la cadena de varias líneas en la variable de shell, greet
, y la redirige al archivo especificado, multiline.txt
, usando >
.
echo "$greet" > multiline.txt
Compruebe el contenido del multiline.txt
con el comando cat
.
cat multiline.txt
En la salida, vemos que cada conjunto de palabras tiene su propia línea y no hay espacios adicionales.
Hello
,
wolrd
!
Utilice printf
para hacer cadenas de varias líneas en Bash
Podemos usar printf
con el carácter de nueva línea y redirigir la salida a un archivo usando >
. El contenido del archivo no tiene espacios adicionales.
#!/bin/bash
printf "Every word is on a seperate line!\n"
printf "%s\n" "Hello" "," "World" "!" > multiline.txt
Producción :
Every word is on a separate line!
Imprima el contenido de multiline.txt
con el comando cat
.
cat multiline.txt
En la salida, vemos que cada conjunto de palabras tiene su propia línea y no hay espacios adicionales.
Hello
,
World
!
Utilice echo
con la opción -e
para hacer cadenas de varias líneas en Bash
El siguiente script bash imprime las palabras en multiline.txt
sin espacios adicionales. La opción -e
permite la interpretación de caracteres de escape en la variable greet
.
#!/bin/bash
greet="Hello\n,\nWorld\n!"
echo -e $greet > multiline.txt
Imprima el contenido de multiline.txt
con el comando cat
cat multiline.txt
En la salida, vemos que cada conjunto de palabras tiene su propia línea y no hay espacios adicionales.
Hello
,
World
!
Utilice echo
para hacer cadenas de varias líneas en Bash
El siguiente script asigna una cadena de varias líneas a una variable llamada greet
. A continuación, el contenido de la variable se redirige a los archivos multiline.txt
utilizando >
. Las comillas de la variable greet
conservan las nuevas líneas.
#!/bin/bash
greet="Hello
,
World
!"
echo "$greet" > multiline.txt
Muestra el contenido de multiline.txt
con el comando cat
.
cat multiline.txt
En la salida, vemos que cada conjunto de palabras tiene su propia línea y no hay espacios adicionales.
Hello
,
World
!