#1 Le 03/12/2018, à 11:22
- cosmoff
que fais exactement le pipe
Bonjour à tous,
voila je connais la finalité de la commande :
ls dir/ | grep docs
mais pas ce qu'elle fait en détail via le pipe.
Est ce que je place tous les fichiers du répertoire dir dans un fichier temporaire, puis ensuite je regarde avec la commande grep si dans ma list temporaire il y a un fichier portant le nom docs,
ou alors ca marche comme une boucle et pour chaque nom de fichier placé dans le fichier temporaire je regarde (via la commande grep) s'il porte le nom doc, puis je repete cette action autant
de fois qu'il y a de fichier?
Merci d'avance pour votre aide
Dernière modification par cosmoff (Le 03/12/2018, à 11:23)
Hors ligne
#2 Le 03/12/2018, à 11:46
- grandtoubab
Re : que fais exactement le pipe
Salut
pipe envoie le résultat de la première commande en entrée de la deuxième
https://openclassrooms.com/fr/courses/4 … id/r-40443
tu peux faire directement
grep docs dir/*
je cherche les mp4 du dossier Vidéos
grep mp4 Vidéos/*
Dernière modification par grandtoubab (Le 03/12/2018, à 11:55)
Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....
Hors ligne
#3 Le 03/12/2018, à 11:58
- Watael
Re : que fais exactement le pipe
ah, non, ça ne fait pas la même chose.
cosmoff va chercher parmi les noms de fichiers ceux qui comportent le motif 'docs';
grandtoubab va chercher dans le contenu des fichiers le motif indiqué.
dans un cas, grep traite la liste des fichiers comme s'il s'agissait du contenu d'un fichier, dans l'autre il traite le contenu des fichiers qui lui sont passés en arguments.
je ne sais pas si je suis bien clair.
Dernière modification par Watael (Le 03/12/2018, à 12:02)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 03/12/2018, à 12:01
- pingouinux
Re : que fais exactement le pipe
Bonjour,
grep docs dir/*
Cette commande va rechercher la chaîne docs dans le contenu des fichiers dir/*.
Hors ligne
#5 Le 03/12/2018, à 12:07
- grandtoubab
Re : que fais exactement le pipe
Bonjour,
grandtoubab #2 a écrit :grep docs dir/*
Cette commande va rechercher la chaîne docs dans le contenu des fichiers dir/*.
dans l'ensemble des fichiers du dossier dir
Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....
Hors ligne
#6 Le 03/12/2018, à 13:37
- Watael
Re : que fais exactement le pipe
dans le contenu de chaque fichier du répertoire.
je vais essayer de m'expliquer mieux :
la commande de cosmoff retournera une liste de fichiers dont le nom comporte le motif recherché
ta commande retournera les lignes qui comportent ce motif dans les fichiers
edit:
encore mieux :
il y a une boîte avec des sacs portant une étiquette sur laquelle est inscrit un mot.
ces sacs contiennent des colliers de billes sur lesquelles sont inscrit autant de mots (un mot par bille).
la commande de cosmoff regarde uniquement les étiquettes sur les sacs.
la commande de grandtoubab regarde dans les sacs pour retrouver les colliers dont une bille correspond au motif cherché.
Dernière modification par Watael (Le 03/12/2018, à 14:11)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#7 Le 03/12/2018, à 14:21
- grandtoubab
Re : que fais exactement le pipe
ta commande retournera les lignes qui comportent ce motif dans les fichiers
.
Non, pas seulement, ça retourne aussi la liste des fichiers d'extensions mp4
Exemple
~$ grep mp4 Vidéos/*
grep: Vidéos/arte: est un dossier
Fichier binaire Vidéos/Ashlee Haze-Lane Bryant.mp4 correspondant
Fichier binaire Vidéos/Avengers1.mp4 correspondant
Fichier binaire Vidéos/Avengers2.mp4 correspondant
Fichier binaire Vidéos/balcon2.mp4 correspondant
Fichier binaire Vidéos/balcon3.mp4 correspondant
Fichier binaire Vidéos/balcon4.mp4 correspondant
Fichier binaire Vidéos/balcon6.mp4 correspondant
Fichier binaire Vidéos/balcon7.mp4 correspondant
Fichier binaire Vidéos/balcon8.mp4 correspondant
Fichier binaire Vidéos/balcon.mp4 correspondant
etc
Dernière modification par grandtoubab (Le 03/12/2018, à 14:21)
Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....
Hors ligne
#8 Le 03/12/2018, à 14:34
- Watael
Re : que fais exactement le pipe
grep traite les lignes des fichiers passés en argument ou passées sur son entrée standard,
mais étant donné qu'il ne peut pas lire les données des fichiers binaires, il affiche ce message :
$ grep -r txt src/
[...]
Fichier binaire src/bash-4.4/doc/bashref.dvi correspondant
[...]
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 03/12/2018, à 15:13
- pingouinux
Re : que fais exactement le pipe
grep ne trouve une correspondance dans un fichier binaire que si une suite d'octets correspond au motif.
$ hd aa
00000000 00 01 02 03 04 05 06 07 |........|
00000008
$ hd bb
00000000 00 01 02 03 04 05 6d 70 34 06 07 |......mp4..|
0000000b
$ file aa bb
aa: raw G3 data, byte-padded
bb: raw G3 data, byte-padded
$ grep mp4 *
Binary file bb matches
Édité :
Ou mieux
$ hd aa.mp4
00000000 00 01 02 03 04 05 06 07 |........|
00000008
$ hd bb.mp4
00000000 00 01 02 03 04 05 6d 70 34 06 07 |......mp4..|
0000000b
$ grep mp4 *
Binary file bb.mp4 matches
Dernière modification par pingouinux (Le 03/12/2018, à 15:17)
Hors ligne