OVH Cloud OVH Cloud

Grep avec un slash

6 réponses
Avatar
ozzii
Bonjour,

J'aimerais faire un truc simple, mais je n'y arrive pas.

Dans un fichier (exclu) j'ai des donnees:
/tmp
/truc
/machin

je fait cela:
for X in `df|awk '{ print $7 }'`
do
if grep "^${X}" exclu >>/dev/null
then
echo "OK"
else
echo "NON"
done

Pas trop complique jusque l'a.
Sauf que si dans mon $X j'ai / , cela passe en OK alors que ca doit
etre NON.

Comment faire pour dire au grep de comparer sur la ligne entiere?

Merci d'avance

6 réponses

Avatar
ozzii
je viens de trouver

grep -v -f fichier_avec _exclusion
Avatar
ozzii
En fait ce n'est pas exactement ce que je voulais.
Desole, la demande est toujour valable.
Avatar
ozzii
Cela ne fonctionne pas car dans le fichier exclu j'ai des #.
En les enlevant tout est OK. Cependant il faut que je les gardes.
Avatar
Fred
Cela ne fonctionne pas car dans le fichier exclu j'ai des #.
En les enlevant tout est OK. Cependant il faut que je les gardes.



C'est bien, tu fais un thread à toi tout seul ;-)


Essaie d'écrire :

if grep "^${X}$" exclu >>/dev/null

ça devrait marcher

A+
Fred

Avatar
[SauronDeMordor]
Bonjour,

J'aimerais faire un truc simple, mais je n'y arrive pas.

Dans un fichier (exclu) j'ai des donnees:
/tmp
/truc
/machin

je fait cela:
for X in `df|awk '{ print $7 }'`
do
if grep "^${X}" exclu >>/dev/null
then
echo "OK"
else
echo "NON"
done

Pas trop complique jusque l'a.
Sauf que si dans mon $X j'ai / , cela passe en OK alors que ca doit
etre NON.

Comment faire pour dire au grep de comparer sur la ligne entiere?

Merci d'avance

tu veux le exact mach ?


alors utilise grep -w

sauf que $7 dans df cest vide car uniquement 6 champs, essaye plutot prin t $NF


mais si tu veux voir la liste des /truc qui sont pas dans ton fichier exc lu tu a
aussi la commande com (comm -3 exclu df_file )

Avatar
ozzii
Merci je vais tester cela demain.

P.S. Chez moi (aix) le champ 7 me donne les points de montages.