Condition nul sur grep|awk
Résolu
Bonjour à toutes et à tous,
Je cherche comment blinder mon script. Lors d'une de mes commandes, je fais un grep puis un awk et j'inscris lme resultat dans un fichier .txt. Les informations que j'extraie n'etant pas disponible tout le temps, j'aimerai pouvoir faire en sorte que lorsqu'il n'y a rien à extraire, le script mette un espace blanc au lieu de rien du tout.
Quelqu'un a une idée svp?
Merci d'avance.
tradik
Je cherche comment blinder mon script. Lors d'une de mes commandes, je fais un grep puis un awk et j'inscris lme resultat dans un fichier .txt. Les informations que j'extraie n'etant pas disponible tout le temps, j'aimerai pouvoir faire en sorte que lorsqu'il n'y a rien à extraire, le script mette un espace blanc au lieu de rien du tout.
Quelqu'un a une idée svp?
Merci d'avance.
tradik
6 réponses
-
Contributeureffectivement, si grep ne trouve rien, awk ne reçoit rien, donc le test n'a pas lieu
-
Super!
Merci dubcek :) -
Contributeurhello
awk '/VIP user/ {x=1;print $7,$8};END{if(!x)print "non defini"}' fichier -
up
-
Je me demande si dans la condition if ($7 == "" ) il y a pas un soucis. Etant donné qu'il ne trouve pas la ligne "VIP users", comprend il que $7 n'existe pas? :s
-
pour l'instant, je fais comme ça, en vain:
grep "VIP users" | awk '{if ($7 == "" ) {print "Non defini"} else {print $7,$8}}'
mais ne marche pas