Comment faire pour ajouter la sortie à la fin d'un fichier texte
Comment puis-je ajouter de la sortie d'une commande à la fin d'un fichier texte?
Vous devez vous connecter pour publier un commentaire.
Comment puis-je ajouter de la sortie d'une commande à la fin d'un fichier texte?
Vous devez vous connecter pour publier un commentaire.
Utilisation
>>
au lieu de>
lors de diriger la sortie vers un fichier:Si
file_to_append_to
n'existe pas, il sera créé.Exemple:
echo
supprime les retours à la ligne à partir de la chaîne. Comment voulez-vous ajouter à un fichier en une chaîne de caractères qui contient des retours à la ligne?Vous pouvez utiliser l' >> de l'opérateur. Cela permettra d'ajouter des données à partir d'une commande à la fin d'un fichier texte.
Pour tester cette essayez de lancer:
Faire une couple de fois, puis exécutez:
Vous verrez que votre texte a été ajouté à plusieurs reprises à la textfile.txt fichier.
À
append
un fichier utilisez>>
À
overwrite
un fichier utilisez>
Utilisation
command >> file_to_append_to
à ajouter à un fichier.Par exemple
echo "Hello" >> testFile.txt
ATTENTION: si vous utilisez uniquement un seul
>
vous permettra de complètement remplacer le contenu du fichier. Pour s'assurer que ne jamais se produire, vous pouvez ajouterset -o noclobber
à votre.bashrc
.Cela garantit que si vous tapez accidentellement
command > file_to_append_to
à un fichier existant, il vous avertit que le fichier existe déjà. Exemple de message d'erreur:file exists: testFile.txt
Ainsi, lorsque vous utilisez
>
il vous permettra seulement de créer un nouveau fichier, de ne pas écraser un fichier existant.Utiliser le
>>
opérateur pour ajouter du texte dans un fichier.pour l'ensemble de la question:
cela ajoute 720 lignes (30*24) dans o.txt et après nous allons renommer le fichier en fonction de la date actuelle.
Exécuter le dessus avec le cron toutes les heures, ou
Je vous suggère de faire deux choses:
>>
dans votre shell script pour ajouter des contenus à un fichier particulier. Le fichier peut être fixe ou en utilisant un modèle.Par exemple, si votre fichier contient :
si tu veux ajouter à la fin du fichier, puis ---->n'oubliez pas les espaces entre "texte" >> 'filename'
Et de remplacer le contenu du fichier :
cat
est ... juste complètement loufoque. (Elle est vide parce que vous venez redirigé la sortie standard vers un fichier.)Je voudrais utiliser printf, au lieu de echo parce que c'est plus fiable et des procédés de mise en forme tels que la nouvelle ligne
\n
correctement.Cet exemple produit un résultat semblable à l'écho des exemples précédents:
Néanmoins, si vous remplacez printf avec un écho dans cet exemple, l'écho de traiter \n comme un string, ignorant ainsi l'intention
À l'aide de tee avec l'option -un (--append) vous permet de joindre plusieurs fichiers à la fois et l'utilisation de sudo (très utile lors de l'ajout de fichiers protégés). En outre, il est intéressant si vous avez besoin d'utiliser d'autres coquilles d'ailleurs bash, comme toutes les coques de soutien de l' > et >> les opérateurs
Ce fil a de bonnes réponses à propos de tee