echo "text" >> 'Users/Name/Desktop/TheAccount.txt'
Cómo lo hago para que cree el archivo si no existe, pero lo sobrescribe si ya existe. En este momento, este script simplemente se agrega.Escribir en el archivo, pero sobrescribirlo si existe
echo "text" >> 'Users/Name/Desktop/TheAccount.txt'
Cómo lo hago para que cree el archivo si no existe, pero lo sobrescribe si ya existe. En este momento, este script simplemente se agrega.Escribir en el archivo, pero sobrescribirlo si existe
Un poco de comprensión de cómo funcionan las tuberías * nix ayudaría.
En resumen, el operador de redirección >>
agregará líneas al final del archivo especificado, donde -como el único mayor que >
se vaciará y sobrescribirá el archivo.
echo "text" > 'Users/Name/Desktop/TheAccount.txt'
Algunos entornos no permiten con algo como '-bash: TheAccount.txt: no se puede sobrescribir el archivo existente'. –
Además, '>' y '>>' son los operadores de * salida de redirección *. El operador de tubería es '|'. –
Ver respuesta por @BrDaHa.Use '> |' para forzar sobreescribir el existente – Jake
pesar NylonSmile
's answer, que es "una especie de" correcta .. he podido 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 "[email protected]" >! "$X" || echo "[email protected]" > "$X"
Obviamente, tener cuidado con esto ...
Esto significa que tiene configurada la opción no predeterminada de zsh 'NOCLOBBER'. Use 'setopt clobber' para restablecer el comportamiento predeterminado. –
#!/bin/bash
cat <<EOF > SampleFile
Put Some text here
Put some text here
Put some text here
EOF
Si tiene salida que puede tener errores, es posible que desee utilizar un símbolo de unión y a mayor que, de la siguiente manera:
my_task &> 'Users/Name/Desktop/task_output.log'
esto redireccionará stderr y stdout al archivo de registro (en lugar de stdout solamente).
Eso podría ser cierto, pero no está relacionado con la pregunta. – Deiwin
En Bash, si ha configurado noclobber a la set -o noclobber
, a continuación, se utiliza la sintaxis >|
Por ejemplo:
echo "some text" >| existing_file
Esto también funciona si el archivo no existe aún
Gracias, también funciona para zsh. –
bien ... esto es increíble. Reconocí> un poco antes que >>. – Jokester