Linux

Bash Écrire dans un fichier

Bash Écrire dans un fichier

L'une des tâches les plus courantes lors de l'écriture de scripts Bash ou du travail sur la ligne de commande Linux est la lecture et l'écriture de fichiers.

Cet article explique comment écrire du texte dans un fichier dans Bash, en utilisant les opérateurs de redirection et tee commander.

Écrire dans un fichier à l'aide d'opérateurs de redirection #

Dans Bash, la redirection de sortie vous permet de capturer la sortie d'une commande et de l'écrire dans un fichier.

Le format général pour la redirection et l'écriture de la sortie dans un fichier est le suivant :

sortie > nom de fichier sortie >> nom de fichier 

Vous devez avoir des autorisations d'écriture sur le fichier. Sinon, vous recevrez une erreur d'autorisation refusée.

Voici un exemple simple montrant comment la redirection de la sortie du écho commande dans un fichier :

echo "ceci est une ligne" > fichier.SMS

Pour éviter d'écraser les fichiers existants, activez l'option "noclobber" avec le ensemble intégré :

set -o noclobberecho "ceci est une ligne" > fichier.SMS
bash : fichier.txt : impossible d'écraser le fichier existant 

le >| L'opérateur vous permet de remplacer l'option Bash "noclobber":

set -o noclobberecho "c'est une ligne" >| déposer.SMS

le >> l'opérateur ajoute la sortie à la fin du fichier, plutôt que d'écraser le fichier :

echo "ceci est une ligne" >> fichier.SMS

Utilisez le imprimer commande pour créer une sortie complexe :

printf "Bonjour, je suis %s.\n" $USER > fichier.SMS

Si vous souhaitez écrire plusieurs lignes dans un fichier, utilisez la redirection du document Here (Heredoc).

Par exemple, vous pouvez transmettre le contenu au chat commande et écrivez-la dans un fichier :

chat << EOF > déposer.txt Le répertoire de travail actuel est : $PWD Vous êtes connecté en tant que $(whoami) EOF 

Pour ajouter les lignes, modifiez > avec >> avant le nom du fichier :

chat << EOF >> fichier.txt Le répertoire de travail actuel est : $PWD Vous êtes connecté en tant que $(whoami) EOF 

Vous pouvez écrire la sortie de n'importe quelle commande dans un fichier :

date +"Année : %A, Mois : %m, Jour : %d" > fichier.SMS

La sortie du Date la commande sera écrite dans le fichier.

Écrire dans un fichier à l'aide du tee Commande #

le tee la commande lit à partir de l'entrée standard et écrit à la fois dans la sortie standard et dans un ou plusieurs fichiers simultanément.

echo "c'est une ligne" | fichier tee.SMS

le tee le comportement par défaut de la commande est d'écraser le fichier spécifié, comme le > opérateur. Pour ajouter la sortie au fichier, appelez la commande avec le -une (--ajouter) option :

echo "c'est une ligne" | tee -un fichier.SMS

Si vous ne voulez pas le tee pour écrire sur la sortie standard, vous pouvez la rediriger vers /dev/null:

echo "c'est une ligne" | fichier tee.txt >/dev/null

Pour écrire le texte dans plusieurs fichiers, spécifiez les fichiers comme arguments du tee commander:

echo "c'est une ligne" | fichier tee_1.txt fichier_2.txt fichier_3.SMS

Un autre avantage de la tee commande est que vous pouvez l'utiliser en conjonction avec sudo et écrire dans des fichiers appartenant à d'autres utilisateurs. Pour ajouter du texte à un fichier pour lequel vous n'avez pas d'autorisations d'écriture, ajoutez sudo avant que tee:

echo "c'est une ligne" | fichier sudo tee.SMS

le écho la sortie de la commande est transmise en entrée au tee, qui élève les autorisations sudo et écrit le texte dans le fichier.

Conclusion #

Sous Linux, pour écrire du texte dans un fichier, utilisez le > et >> opérateurs de redirection ou les tee commander.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.

Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...
OpenTTD contre Simutrans
Créer votre propre simulation de transport peut être amusant, relaxant et extrêmement attrayant. C'est pourquoi vous devez vous assurer que vous essay...
Tutoriel OpenTTD
OpenTTD est l'un des jeux de simulation d'entreprise les plus populaires. Dans ce jeu, vous devez créer une merveilleuse entreprise de transport. Cepe...