2012-12-05 3 views
1

Je crée un script pour automatiser le partitionnement d'un disque dur.bash si un caractère spécifique existe

Maintenant, je vais avoir du mal avec les choses suivantes:

Je dois vérifier si un « » existe dans un fichier texte. (donc juste le point). Quel est le meilleur moyen d'y parvenir?

Exemple:

hdhelft=`cat /sometextfile` 
if grep "." $hdhelft  
then  
hdhelf2=something  
fi  

Répondre

1

Pas besoin de lire le fichier dans une variable à moins que ce que vous voulez vraiment. Ce n'est pas tout à fait clair de votre code ce que vous voulez, mais voici mon interprétation. Utilisez le drapeau -F à grep pour l'interpréter. comme un littéral, et le -q donc il ne donne aucune sortie (juste oui ou non). En outre, si vous voulez vraiment $hdhelft pour contenir le contenu du fichier, utilisez $(<filename) pour l'obtenir.

hdhelft=$(</sometextfile) 
if grep -qF '.' /sometextfile; then 
    hdhelf2=something 
fi 
+0

Oui merci qui a fonctionné :-) – user1602596

1

Vous devez échapper au caractère . comme grep interprète que comme « un caractère ». Donc, utilisez:

grep '\.' yourfile 
Questions connexes