matafan a écrit :
En shell, chaine de caractere, entier, c'est tout pareil. L'important c'est le contexte dans lequel tu les utilises (par exemple, == interprete le truc comme une chaine, -eq comme un nombre).
|
Les syntaxes "=" (et non "==" qui n'existe pas) et "-eq" sont des options de la commande "test". C'est cette dernière qui interprète le truc et non le shell lui-même.
Mais en effet, la remarque est intéressante. Exemple
var="01"
test $var -eq 1 && echo "test 1 réussi" # Ca marche
test "$var" = "1" && echo "test 2 réussi" # Ca ne marche pas
|
La syntaxe exacte serait "nb=`wc -l`" et non "$nb=`wc -l`" (erreur de frappe ici ou dans ton script ???)
marc90 a écrit :
Si on fait more nomFichier|wc -l, cela retourne le nombre de ligne.
|
cat nomFichier |wc -l
Pas besoin de demander une commande paginée alors qu'on n'utilise pas l'effet de pagination...
On peut aussi s'en sortir en faisant
Citation :
nb=`wc -l nomFichier |cut -f1`
|
pour supprimer le nom. Cela est un poil plus rapide car dans le "cat |wc", on traite 2 fois le contenu du fichier alors que dans cette 2° solution, on ne le traite qu'une fois...
Message édité par Sve@r le 02-11-2006 à 14:25:08
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.