Cat EOF en Bash

Fumbani Banda 30 enero 2023
  1. Cat EOF en Bash
  2. Poner una cadena de varias líneas a un archivo en Bash
  3. Pasar una cuerda multilínea a una tubería en Bash
Cat EOF en Bash

Este tutorial explica qué es cat EOF y su uso en bash.

Cat EOF en Bash

cat es un comando bash utilizado para leer, mostrar o concatenar el contenido de un archivo, mientras que EOF significa End Of File. El EOF es una indicación al shell de que el archivo que se estaba leyendo ha finalizado. cat << eof usa here-document. Los operadores de redirección << y <<- permiten la redirección de las líneas subsiguientes leídas por el shell a la entrada de un comando. Las líneas redirigidas se denominan here-document.

El here-document utiliza el siguiente formato.

[n] << word
     here-document
delimeter

El here-document se trata como una sola palabra que comienza después de la siguiente nueva línea. Continúa hasta que haya una línea que contenga solo el delimitador o una nueva línea sin caracteres en blanco entre ellos.

Poner una cadena de varias líneas a un archivo en Bash

cat, <<, EOF y > proporcionan 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. El << se utiliza para establecer la Here Tag. El > se usa para redirigir el contenido de entrada a un archivo específico, multiline.txt en nuestro caso.

cat << EOF > multiline.txt
> This is the first line
> This is the second line
> This is the third line
> EOF

También podemos usar cat, <<, EOF y > para escribir scripts bash como se muestra a continuación de forma interactiva.

cat << EOF > script.sh
#!/bin/bash

printf "Hello\n"
printf "Wordl!\n"
EOF

Pasar una cuerda multilínea a una tubería en Bash

El código siguiente utiliza cat, eof y pipe para redirigir el contenido de la cadena de entrada de varias líneas a una tubería y un comando especificados. La entrada se envía al comando grep que busca la cadena A y la entrada coincidente se envía al comando tee. El comando tee copia la entrada al archivo fruits.txt.

cat <<EOF | grep 'A' | tee fruits.txt
> Apple
> Orange
> Apricot
> Banana
> EOF

Comprobemos el contenido del archivo fruits.txt con cat.

cat fruits.txt

Producción :

Apple
Apricot
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

Artículo relacionado - Bash Cat