If et grep en bash -- Rechercher une chaine et if statement
Fermé
anselme
-
16 juil. 2013 à 10:48
Flachy Joe Messages postés 2101 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 7 novembre 2022 - 16 juil. 2013 à 20:25
Flachy Joe Messages postés 2101 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 7 novembre 2022 - 16 juil. 2013 à 20:25
A voir également:
- If grep
- Find grep ✓ - Forum Linux / Unix
- If exist ✓ - Forum Autoit / batch
- Vba if not ✓ - Forum Excel
- Double grep ✓ - Forum Linux / Unix
- Connexion messenger if - Guide
1 réponse
Flachy Joe
Messages postés
2101
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
7 novembre 2022
257
16 juil. 2013 à 19:11
16 juil. 2013 à 19:11
Salut,
voila une solution :
voila une solution :
#!/bin/bash
if [ -n "$(find /home/ -type f -exec grep "chaine" {} \; -quit )" ]
then
echo "Action"
else
echo "Pas d'action"
exit 1
fi
exit 0
Modifié par qqchquicommenceparQ le 16/07/2013 à 20:10
if find /home/ -type f -exec grep -q "chaine" {} \; -quit {} \; thenmais ce n'est pas très précis, car dès qu'un fichier comporte une correspondance find s'arrête.En plus, tu ne sais pas quel(s) fichier(s) contient la chaîne recherchée.
:(
16 juil. 2013 à 19:35
-q, --quiet, --silent Ne pas afficher les résultats normaux. Sortir immédiatement avec un code de retour égal à zéro dès qu'une correspondance est trouvée, même si une erreur est détectée. Voyez aussi l'option -s ou --no-messages. (-q est spécifiée dans POSIX)