cat >> filename
This is text, perhaps pasted in from some other source.
Or else entered at the keyboard, doesn't matter.
^D
Esencialmente, puede volcar cualquier texto que desee en el archivo. CTRL-D envía una señal de fin de archivo, que finaliza la entrada y lo devuelve al shell.
Otra forma posible es:
echo "text" | tee -a filename >/dev/null
El -a
se agregará al final del archivo.
Si necesita sudo
, usa:
echo "text" | sudo tee -a filename >/dev/null
¿Qué tal:
echo "hello" >> <filename>
Usando el >>
el operador agregará datos al final del archivo, mientras usa el >
sobrescribirá el contenido del archivo si ya existe.
También puedes usar printf
de la misma manera:
printf "hello" >> <filename>
Tenga en cuenta que puede ser peligroso usar lo anterior. Por ejemplo, si ya tiene un archivo y necesita agregar datos al final del archivo y olvida agregar el último >
todos los datos en el archivo serán destruidos. Puede cambiar este comportamiento configurando el noclobber
variable en su .bashrc
:
set -o noclobber
Ahora, cuando intentas hacer echo "hello" > file.txt
recibirá una advertencia que dice cannot overwrite existing file
.
Para forzar la escritura en el archivo, ahora debe usar la sintaxis especial:
echo "hello" >| <filename>
También debes saber que por defecto echo
agrega un carácter final de nueva línea que se puede suprimir usando el -n
bandera:
echo -n "hello" >> <filename>
Referencias
echo(1) - Linux man page
noclobber variable
I/O Redirection