Comment écraser un fichier avec echo?


10

Lorsque vous utilisez echo "foo">> bar.txtplusieurs fois, il s'ajoute à la fin d'un fichier. Comment écraser à bar.txtchaque fois?


2
La réponse de Dennis est correcte. Voir man bashet rechercher (en utilisant /) la section "REDIRECTION". Plus précisément les sous-sections "Redirection de la sortie" et "Ajout de la sortie redirigée".
RedGrittyBrick

Réponses:


28

>est pour rediriger vers un fichier (l'écraser), tandis que >>pour l'ajouter.

Pour écraser bar.txt, utilisez ceci:

echo "foo" > bar.txt

1
Plus communément, >est appelé redirection (sortie standard vers un fichier) tandis que le symbole de tuyau |est appelé tuyauterie (sortie standard vers un autre processus). Vous courez le risque de dérouter des gens comme moi lorsque vous vous référez à >la «tuyauterie»
RedGrittyBrick

@RedGrittyBrick: J'ai vu des tuyaux dans quelques livres (et je le dis depuis des années), mais la redirection semble être beaucoup plus courante. Merci.
Dennis

@Dennis Piping utilise le canal |pour connecter la sortie d'un programme / commande à l'entrée d'un autre. Connexes .
Daniel Beck

@DanielBeck: Je voulais dire que j'ai vu des tuyaux vers un fichier . Exemple: Apprenez Windows PowerShell en un mois de déjeuners - Tuyauterie vers un fichier ou une imprimante
Dennis

Notez que selon la page 43, dans PowerShell > fooest juste du sucre syntaxique pour | Out-File foo, et est donc une forme de tuyauterie ;-)
Daniel Beck
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.