Suponiendo que tengo una línea que quiero agregar a un archivo sin abrir un editor.
¿Cómo podría agregar esta línea?
alias list='ls -cl --group-directories-first'
a este archivo
config.fish
Suponiendo que tengo una línea que quiero agregar a un archivo sin abrir un editor.
¿Cómo podría agregar esta línea?
alias list='ls -cl --group-directories-first'
a este archivo
config.fish
Puede agregar una línea de texto a un archivo utilizando el >>
operador:
echo "hello world" >> my_file.txt
o en tu caso
echo "alias list='ls -cl --group-directories-first'" >> config.fish
Tenga en cuenta los diferentes tipos de citas .
>
, el archivo se truncará, no se agregará. para un comando más seguro puede usar sed:sed -i '$a hello world' filename
-i
actualizará el archivo (de lo contrario, solo imprimirá el resultado en stdout),$
es una expresión regular que coincidirá con el final del archivo ya
agrega el siguiente texto al nombre del archivo.echo "hello world" >> my_file.txt
no crea una nueva última línea conHW
, pero la agrega a la cadena de la última línea.HW
@timo?echo
que agrega el salto de línea (haciéndolo una línea en lugar de solo un montón de caracteres). Puede desactivar el salto de línea al final con-n
.Hay muchos métodos para agregar archivos sin abrir editores de texto, particularmente a través de múltiples utilidades de procesamiento de texto disponibles en Ubuntu.
tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"
awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish" }'
sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fish
fuente
Agregando a la respuesta de Stefano , también puedes usar
cat
:Usando un heredoc:
<<'EOF'
significa "tome lo siguiente como entrada, hasta llegar a una línea que sea justaEOF
". Las citas significan tomar la entrada literalmente.O ingresando la línea en stdin:
Luego pegue o escriba la línea, presione Enterpara ir a una nueva línea, luego presione Ctrl + D para marcar el final.
fuente