Escribir en el archivo, pero sobrescribirlo si existe.
echo "text" >> 'Users/Name/Desktop/TheAccount.txt'
¿Cómo hago para que cree el archivo si no existe, pero lo sobrescriba si ya existe? En este momento este script simplemente se agrega.
El >>
operador de redirección agregará líneas al final del archivo especificado, mientras que el único mayor que >
vaciará y sobrescribirá el archivo.
echo "text" > 'Users/Name/Desktop/TheAccount.txt'
En Bash, si ha configurado noclobber a la set -o noclobber
, entonces usa la sintaxis>|
Por ejemplo:
echo "some text" >| existing_file
Esto también funciona si el archivo aún no existe.
Compruebe si noclobber está configurado con:
set -o | grep noclobber
Para una explicación más detallada sobre este tipo especial de operador, consulte esta publicación
Para obtener una lista más exhaustiva de operadores de redireccionamiento, consulte esta publicación
A pesar de NylonSmile
la respuesta de , que es "más o menos" correcta... No pude sobrescribir archivos de esta manera...
echo "i know about Pipes, girlfriend" > thatAnswer
zsh: file exists: thatAnswer
para resolver mis problemas... tuve que usar... >!
, á la ..
[[ $FORCE_IT == 'YES' ]] && echo "$@" >! "$X" || echo "$@" > "$X"
Obviamente, ten cuidado con esto...