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
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.