¿Cómo sobrescribir un archivo usando echo?

10

Cuando se usa echo "foo">> bar.txtmás de una vez, se agrega al final de un archivo. ¿Cómo sobrescribir bar.txtcada vez?

J.Olufsen
fuente
2
La respuesta de Dennis es correcta. Vea man bashy busque (usando /) la sección sobre "REDIRECCIÓN". Específicamente las subsecciones "Salida redirigida" y "Salida redirigida anexa".
RedGrittyBrick

Respuestas:

28

>es para redirigir a un archivo (sobrescribirlo), mientras que >>es para agregar.

Para sobrescribir bar.txt, use esto:

echo "foo" > bar.txt
Dennis
fuente
1
Más comúnmente, >se conoce como redireccionamiento (salida estándar a un archivo) mientras que el símbolo de tubería |se conoce como tubería (salida estándar a otro proceso). Corres el riesgo de confundir a personas como yo cuando te refieres a >'piping'
RedGrittyBrick
@RedGrittyBrick: He visto tuberías en algunos libros (y lo he estado diciendo durante años), pero la redirección parece ser mucho más común. Gracias.
Dennis
@Dennis Piping está utilizando la tubería |para conectar la salida de un programa / comando a la entrada de otro. Relacionados .
Daniel Beck
@DanielBeck: Quise decir que vi tuberías en un archivo . Ejemplo: Aprenda Windows PowerShell en un mes de almuerzos - Conexión a un archivo o impresora
Dennis
Tenga en cuenta que de acuerdo con la página 43, en PowerShell > fooes solo azúcar sintáctico | Out-File fooy, por lo tanto, es una forma de tubería ;-)
Daniel Beck