LINUX

Cómo agregar al final de un archivo en Linux

anexar al final de un archivo linux

En este tutorial, aprendemos diferentes formas de agregar texto al final de un archivo en Linux. Puede lograr esto usando varios métodos en Linux, pero el más simple es redirigir la salida del comando al nombre de archivo deseado. Usando el carácter >> puede enviar el resultado de cualquier comando a un archivo de texto.

Otras formas en que esto se puede lograr es utilizando herramientas de Linux como tee, awk y sed.

Redirigir la salida del comando o los datos al final del archivo

Cada sistema operativo basado en Unix tiene un concepto de «un lugar predeterminado para la salida». Todo el mundo lo llama «salida estándar» o «salida estándar», que se pronuncia como salida estándar. Su shell (probablemente bash o zsh) está constantemente mirando ese lugar de salida predeterminado. Cuando su shell ve una nueva salida allí, la imprime en la pantalla para que pueda verla.

Podemos redirigir esa salida a un archivo usando el operador >>.

El procedimiento es el siguiente:

Agregue texto al final del archivo usando eco mando:

echo 'sample text line' >> filename.txt

Agregue la salida del comando al final del archivo:

command >> filename.txt

Agregar líneas al final del archivo

Podemos agregar líneas de texto usando este carácter de redireccionamiento >> o podemos escribir datos y salida de comandos en un archivo de texto. Con este método, se creará el archivo si no existe.

Por ejemplo:

$ echo "sample line" >> test.txt
$ cat test.txt 
sample line

$ echo "sample line 2" >> test.txt
$ cat test.txt 
sample line
sample line 2

Agregar el resultado de la salida de datos del comando al final del archivo

También puede agregar datos o ejecutar un comando y agregar resultados al archivo deseado. En este ejemplo, usaremos la fecha para agregar la fecha actual a un archivo, comando uname, que imprimirá la versión del kernel del sistema Linux que estamos usando y, por último, ls comando que genera la estructura de directorio actual y la lista de archivos.
Puede usar cualquier comando que pueda enviar su resultado a una terminal, lo que significa casi todas las herramientas de línea de comando en Linux.

$ date >> test.txt 
$ cat test.txt 
sample line
sample line 2
Tue Jun 25 20:28:51 UTC 2019


$ uname -r >> test.txt 
$ cat test.txt 
sample line
sample line 2
Tue Jun 25 20:28:51 UTC 2019
3.13.0-170-generic


$ ls >> test.txt 
$ cat test.txt 
sample line
sample line 2
Tue Jun 25 20:28:51 UTC 2019
3.13.0-170-generic
test.txt

Metodos alternativos

Veamos cómo agregar usando la utilidad de Linux tee, awk y sed.

Usando la herramienta de línea de comando tee

El comando Tee lee la entrada estándar y la escribe tanto en la salida estándar como en uno o más archivos. El comando lleva el nombre del divisor en T utilizado en la plomería. Rompe la salida de un programa para que pueda mostrarse y guardarse en un archivo.

$ tee -a test.txt <<< "appended line of text"
vagrant@ubuntu-trusty-64:~$ cat test.txt 
appended line of text

Usando la herramienta de línea de comando awk

Awk es una utilidad que permite a un programador escribir programas pequeños pero efectivos en forma de declaraciones que definen patrones de texto que se deben buscar en cada línea de un documento y la acción que se debe tomar cuando se encuentra una coincidencia dentro de un documento. línea. Awk se utiliza principalmente para escanear y procesar patrones.

$ awk 'BEGIN{ printf "another text line appended" >> "test.txt"  }'
vagrant@ubuntu-trusty-64:~$ cat test.txt 
another text line appended

Usando la herramienta de línea de comando sed

El comando Sed en Linux significa editor de flujo y puede realizar muchas funciones en un archivo, como buscar, encontrar y reemplazar, insertar o eliminar. Mediante el uso sed puede editar archivos incluso sin abrirlos, que es una forma mucho más rápida de buscar y reemplazar algo en el archivo.

$ sed -i '$a yet another text line' test.txt
vagrant@ubuntu-trusty-64:~$ cat test.txt 
yet another text line

Agregar varias líneas a un archivo

Hay varias formas de agregar varias líneas a un archivo a la vez.
Por supuesto, puede agregar líneas una por una:

$ echo "line 1" >> result.txt
$ echo "line 2" >> result.txt

La siguiente variante es ingresar una nueva línea en la terminal:

echo "line 1
line 2
line 3" >> result.txt

Otra forma es abrir un archivo y escribir líneas hasta que escriba EOT:

$ cat <<EOT >> result.txt
line 1
line 2
EOT

Conclusión

Aunque hay varias formas de agregar las líneas de texto o los datos y la salida del comando a un archivo, vimos que la forma más fácil es usar >> el carácter de redireccionamiento. Hay formas de agregar el texto al final de un número de línea específico en un archivo, o en el medio de una línea usando expresiones regulares, pero lo cubriremos en algún otro artículo.

Háganos saber qué método agregar al final del archivo que cree que es mejor en la sección de comentarios.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar