Aller au contenu principal

Redirection

1. Explication

La redirection sert à changer le comportement standard des commandes pour l’entrée et la sortie.

L’entrée par défaut est le clavier.

La sortie par défaut est l’écran.

Il est possible de modifier l’entrée pour prendre un fichier en référence. Ceci permet d'éviter de taper manuellement les commandes.

Il est possible de modifier la sortie pour enregistrer dans un fichier. Ceci permet d'enregistrer le résultat d'une commande dans un fichier.

Voici les 3 symboles pour la redirection

2. Fournir un fichier d'entrée - <

L'utilisation du < à la fin d'une commande consiste à indiquer l'utilisation d'un fichier pour les commandes d'entrée.

Ce redirecteur n'est pas très utilisé.

Windows a un utilitaire pour trier des données (sort.exe). Il est possible de fournir la liste à trier par la redirection d'entrée.

Créez un fichier list.txt avec les valeurs ci-dessous.

Z
D
R
T
Y
K
Q
A
P
B
C

La commande ci-dessous permet de trier la liste.

sort < liste.txt

Le résultat sera ceci.

A
B
C
D
K
P
Q
R
T
Y
Z
remarque

La redirection d'entrée n'est pas beaucoup utilisée.

Une des rares utilisations réelles est pour l'importation d'un fichier SQL dans la base de données SQL.

mysql -u username -p database_name < file.sql

3. Fournir un fichier de sortie (écrasement) - >

L'utilisation du > à la fin d'une commande consiste à indiquer l'utilisation d'un fichier pour enregistrer la sortie d'un programme.

Si le fichier existe déjà, il sera supprimé et un nouveau sera créé avec le même nom. Cette action se nomme écrasement ou overwrite en anglais.

Pour enregistrer le résultat du contenu d'un dossier dans un fichier. Le dossier C:\Resultat doit exister.

C:\Windows\System32> dir > C:\Resultat\system32.txt

Si vous exécutez cette commande en conservant le même fichier de sortie, le fichier original sera modifié par le nouveau résultat.

C:\Windows\System32> dir /w > C:\Resultat\system32.txt

4. Fournir un fichier de sortie (concaténation) - >>

L'utilisation du >> à la fin d'une commande consiste à indiquer l'utilisation d'un fichier pour enregistrer la sortie d'un programme.

Si le fichier existe déjà, le contenu de l'affichage sera ajouté à la fin du fichier. Cette action se nomme concaténation ou append en anglais.

Pour enregistrer le résultat du contenu d'un dossier dans un fichier. Le dossier C:\Resultat doit exister.

C:\Windows\System32> dir >> C:\Resultat\system32_append.txt

Si vous exécutez cette commande en conservant le même fichier de sortie, la première partie du fichier sera le contenu de la première exécution et ensuite le contenu de la deuxième exécution.

C:\Windows\System32> dir /w >> C:\Resultat\system32_append.txt

5. Création d'un fichier texte avec echo >>

La commande echo permet d'afficher le contenu d'une variable ou simplement du texte à l'écran.

Avec l'utilisation d'un redirecteur, il est possible d'écrire le contenu dans un fichier.

C:\Resultat> echo Voici le contenu de ma première ligne >> msg.txt
C:\Resultat> echo Voici le contenu de ma deuxième ligne >> msg.txt
C:\Resultat> echo La date du jour %date% >> msg.txt

Pour voir le résultat dans l'invite de commandes, la commande type permet de lire le contenu d'un fichier.

C:\Resultat> type msg.txt
Voici le contenu de ma première ligne
Voici le contenu de ma deuxième ligne
La date du jour 2022-10-06

6. Combinaison

Il est possible de combiner un redirecteur d'entrée et de sortie.

Par exemple, il faut trier la liste et recréer le fichier.

sort < liste.txt > listetriee.txt

7. Faire une copie de fichier non conventionnelle

Il est possible de copier un fichier avec un redirecteur et la commande type.

type info.docx > info2.docx

Cette approche n'est pas recommandée, mais la commande type affiche les octets du fichier en "texte". Le redirecteur copie l'affichage dans le fichier.