Android

Bash: ajouter au fichier

Ubuntu - Linux : Gestion des fichiers avec la ligne de commandes

Ubuntu - Linux : Gestion des fichiers avec la ligne de commandes

Table des matières:

Anonim

Dans Bash, il existe plusieurs façons d'ajouter du texte à un fichier. Cet article explique certains d'entre eux.

Pour ajouter du texte à un fichier, vous devez y avoir des autorisations d'écriture. Sinon, vous recevrez une erreur d'autorisation refusée.

Ajouter à un fichier à l'aide de l'opérateur de redirection ( >> )

La redirection vous permet de capturer la sortie d'une commande et de l'envoyer comme entrée vers une autre commande ou un autre fichier. L'opérateur de redirection >> ajoute la sortie à un fichier donné.

Il existe un certain nombre de commandes que vous pouvez utiliser pour imprimer du texte sur la sortie standard et le rediriger vers le fichier, echo et printf étant les plus utilisées.

Pour ajouter du texte à un fichier, spécifiez le nom du fichier après l'opérateur de redirection:

echo "this is a new line" >> file.txt

Lorsqu'elle est utilisée avec l'option -e , la commande echo interprète les caractères échappés par une barre oblique inverse tels que la nouvelle ligne :

echo -e "this is a new line \nthis is another new line" >> file.txt

Si vous souhaitez produire une sortie plus complexe, utilisez la commande printf qui vous permet de spécifier la mise en forme de la sortie:

printf "Hello, I'm %s.\n" $USER >> file.txt

Une autre façon d'ajouter du texte à un fichier est d'utiliser le document Here (Heredoc). Il s'agit d'un type de redirection qui vous permet de passer plusieurs lignes d'entrée à une commande.

Par exemple, vous pouvez transmettre le contenu à la commande cat et l'ajouter à un fichier:

cat «EOF» file.txt Le répertoire de travail actuel est: $ PWD Vous êtes connecté en tant que: $ (whoami) EOF

Vous pouvez ajouter la sortie de n'importe quelle commande à un fichier. Voici un exemple avec la commande date :

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

Lors de l'ajout à un fichier à l'aide d'une redirection, veillez à ne pas utiliser l'opérateur > pour écraser un fichier existant important.

Ajouter à un fichier à l'aide de la commande tee

tee est un utilitaire de ligne de commande sous Linux qui lit à partir de l'entrée standard et écrit à la fois sur la sortie standard et sur un ou plusieurs fichiers en même temps.

Par défaut, la commande tee écrase le fichier spécifié. Pour ajouter la sortie au fichier, utilisez tee avec l'option -a ( --append ):

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

L'avantage de l'utilisation de la commande tee sur l'opérateur >> est que tee vous permet d'ajouter du texte à plusieurs fichiers à la fois et d'écrire dans des fichiers appartenant à d'autres utilisateurs conjointement avec sudo .

Pour ajouter du texte à un fichier pour lequel vous ne disposez pas d'autorisations d'écriture, ajoutez sudo avant tee comme indiqué ci-dessous:

echo "this is a new line" | sudo tee -a file.txt

tee reçoit la sortie de la commande echo , élève les autorisations sudo et écrit dans le fichier.

Pour ajouter du texte à plusieurs fichiers, spécifiez les fichiers comme arguments de la commande tee :

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

Conclusion

Sous Linux, pour ajouter du texte à un fichier, utilisez l'opérateur de redirection >> ou la commande tee .

terminal bash