Pourquoi pas :
echo "hello" >> <filename>
Utilisation de la >>
ajoutera des données à la fin du fichier, tandis que l'opérateur >
écrasera le contenu du fichier s'il existe déjà.
Vous pouvez également utiliser printf
de la même manière :
printf "hello" >> <filename>
Notez qu'il peut être dangereux d'utiliser ce qui précède. Par exemple, si vous avez déjà un fichier et que vous devez ajouter des données à la fin du fichier et que vous oubliez d'ajouter le dernier caractère >
toutes les données du fichier seront détruites. Vous pouvez modifier ce comportement en définissant l'option noclobber
dans votre .bashrc
:
set -o noclobber
Maintenant, quand vous essayez de faire echo "hello" > file.txt
vous obtiendrez un avertissement disant cannot overwrite existing file
.
Pour forcer l'écriture dans le fichier, vous devez maintenant utiliser la syntaxe spéciale :
echo "hello" >| <filename>
Vous devez également savoir que par défaut echo
ajoute un caractère de nouvelle ligne à la fin, qui peut être supprimé en utilisant la commande -n
drapeau :
echo -n "hello" >> <filename>
Références