GNU/Linux >> Tutoriels Linux >  >> Linux

Script bash :comment écrire des données dans des fichiers texte

Travailler avec des scripts shell a toujours été intéressant pour les programmeurs et les administrateurs système car la sortie les aide tous les deux pour le débogage et la surveillance. La configuration de la plupart des distributions Linux repose en grande partie sur des fichiers. Il est donc important de comprendre le concept d'écriture de données dans un fichier texte à l'aide d'un script ou de redirection de la sortie sur la ligne de commande.

Linux utilise trois flux de données principaux pour communiquer avec l'utilisateur et l'ordinateur :

  1. stdin (entrée standard)
  2. stdout (SORTIE STANDARD)
  3. stderr (ERREUR STANDARD)

1. standard

Il s'agit du flux de données pour l'entrée d'informations. Toute entrée provenant d'un appareil tel qu'un clavier ou une souris relève du flux de données d'entrée standard. stdin est représenté par 0 ID de flux.

[ Vous aimerez peut-être également lire : Cinq façons d'utiliser les opérateurs de redirection dans bash ]

2. sortie standard

Il s'agit du flux de données pour la sortie des données. La sortie des appareils (comme le moniteur, le haut-parleur, etc.) relève du flux de données de sortie standard. sortie standard est représenté par 1 ID de flux.

3. stderr

L'erreur standard est utilisée pour gérer toutes les erreurs produites par les commandes. Tout flux de périphérique (comme un moniteur, un haut-parleur, etc.) qui avertit l'utilisateur que quelque chose s'est mal passé relève de stderr. stderr est représenté par 2 ID de flux.

Comment écrivez-vous des données dans un fichier ?

Utilisez les opérateurs de redirection pour récupérer les données des flux stdout et stderr et les rediriger vers un fichier texte.

Redirection  :La redirection est une fonctionnalité Linux utilisée pour modifier les périphériques d'entrée/sortie lors de l'exécution d'une commande.

Redirection des sorties/erreurs

Pour écrire des données dans un fichier texte à partir d'un script Bash, utilisez la redirection de sortie/d'erreur avec le > et >>  opérateurs de redirection.

> Remplace les données d'un fichier texte.

>> Ajoute des données à un fichier texte.

Créer un script de base et comprendre la redirection

date >> test1.txt
who >> test1.txt

date > test2.txt
who > test2.txt

Ici, la sortie des deux commandes sera ajoutée à test1.txt tandis que test2.txt ne contiendra que la sortie de who commande.

Aller plus loin avec la redirection

Le script ci-dessus redirigera uniquement la sortie et échouera en cas d'erreur. Pour utiliser la redirection pour la sortie, l'erreur ou les deux, vous devez spécifier les paramètres supplémentaires.

Pour rediriger la sortie :> ou >> ou 1> ou 1>>

Pour l'erreur de redirection :2> ou 2>>

Pour rediriger les deux :&> ou &>>

Erreurs de redirection

date --who 2>> test1.txt
who 2>> test1.txt

Pour rediriger uniquement les erreurs, vous avez spécifié le paramètre spécifique de l'erreur. Le fichier de sortie ne contiendra que la sortie de la première commande car il a un mauvais argument.

D'autres arguments peuvent être utilisés de manière interchangeable pour obtenir différentes fonctionnalités.

L'écriture du script pour d'autres commandes est identique au script ci-dessus et nécessite les opérateurs affichés ci-dessus.

[ Télécharger maintenant :Un guide de l'administrateur système sur les scripts Bash. ] 

Récapitulez

La redirection des données vers stdout ou stderr est très utile pour les développeurs et les administrateurs système. Comprendre ces outils et leurs résultats vous aidera à créer de nouveaux fichiers, à dépanner et à collecter des informations système.


Linux
  1. Comment écrire une boucle dans Bash

  2. Comment utiliser la commande Grep pour rechercher du texte dans des fichiers

  3. Comment écrire du texte sur une image à l'aide de la commande Linux

  4. Comment convertir des fichiers texte en majuscules ou minuscules

  5. Comment compresser tous les fichiers dans tous les sous-répertoires de bash

Comment comparer et fusionner des fichiers texte sous Linux

Comment comparer et fusionner des fichiers texte sous Linux (partie 2)

Comment utiliser la commande de date dans les scripts bash sous Linux

Script bash :comment lire des données à partir de fichiers texte

Shell Scripting pour les débutants - Comment écrire des scripts Bash sous Linux

Bash Scripting :comment générer et formater du texte sur le shell Linux