Bonjour,
Ne peux-tu pas appeler trois grep séparés par des pipes ?
Un truc du genreCode:find resultat -type f | grep tache | grep Temps | grep Power > resultat/resultat.txt
Version imprimable
Bonjour,
Ne peux-tu pas appeler trois grep séparés par des pipes ?
Un truc du genreCode:find resultat -type f | grep tache | grep Temps | grep Power > resultat/resultat.txt
Une autre piste awk: découper le fichier en prennant DA= comme séparateur d'enregistrement (RS), vérifier si au moins un record contient les valeurs de DA et SL recherchées et sortir de suite pour éviter de parcourir inutilement le fichier dès les conditions réunies.
Code:
1
2
3
4 DA="2012-08-07" FL="FRLRH" find ... -exec | zcat | awk '/'$DA'/&&/'$FL'/{print FILENAME;exit}' RS="DA="
Comme dirait notre ami, UMQ!
Lorsque ni DA ni FL ne contient d'espace (ce qui est bien le cas ici), tout va bien!
Mais, pour que la formule que tu proposes soit plus universelle et éviter le message:
je propose d'utiliser plus de quotes:Code:awk: non-terminated regular expression 2012... at source line 1
ou, plus simplement:Code:find ... -exec | zcat | awk '/'"$DA"'/&&/'"$FL"'/{print FILENAME;exit}' RS="DA="
voire:Code:find ... -exec | zcat | awk "/$DA/&&/$FL/{print FILENAME;exit}" RS="DA="
Code:find ... -exec | zcat | awk "/${DA}/&&/${FL}/{print FILENAME;exit}" RS="DA="