[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] si mon fichier contient la premiere ligne



[ "$(wc -l < monfichier.txt)" == "1" ] && echo 'ok' || echo 'KO'

Ne fonctionne pas



Le 1 juin 2017 à 13:58, David Martin <damart.vidin@gmail.com> a écrit :
Merci pour vos réponses,

Je viens de faire le test avec la solution de Lorenzo, ça ne semble pas fonctionner.

Test fait avec une ligne... puis j'ai fait un echo toto >> fichier pour en rajouter une, toujours le meme resultat : pas bon.
Même sur un fichier vide ça ne passe pas.


Mon but étant de controler :

si j'ai une ligne c'est bon.. si j'en ai deux pas bon, si j'en ai 3...;etc... pas bon...
si j'en ai 0 pas bon

1 ligne OK
2 ou plus KO
0 KO

je ne sais pas si c'est possible.

Le 1 juin 2017 à 12:47, Lorenzo Bernardi <lorenzo.bernardi@c2n.upsaclay.fr> a écrit :

Bonjour,

wc -l te donne le nombre de ligne dans un fichier typiquement

wc -l  monfichier.txt

1234 monfichier.txt

donc

wc -l monfichier.txt | cut -c1,2 te renvoie les deux premier caractere. Toi tu veux "1 " pas seuluement le premier parceque sinon tout les fichier dont le nombre de ligne commence par 1 passe le test.

if [ $(wc -l monfichier.txt | cut -c1,2) -eq 1 ];  then

echo "OK";

else

echo "pas bon ";

fi

devrait te permettre de verifier si tu n'a qu'une ligne. $(wc -l monfichier.txt | cut -c1,2) permet de recuperer dans une variable la sortie de la commande wc -l monfichier.txt | cut -c1,2.

Après bien sur cela dépend de ton shell (ici bash)

cordialement

L.


On 06/01/2017 12:19 PM, David Martin wrote:
Bonjour à tous,

C'est tout bête mais je ne vois pas comment je peux faire un controle sur une ligne.

J'ai un fichier, dans lequel je génére une ligne d'éxécution (un resultat d'un bash), si j'en ai plusieurs
c'est que j'ai un problème dans l'éxécution de mon script.

Comment puis-je faire pour controler si j'ai strictement et seulement une seule ligne dans ce fichier,
mais si j'en ai plusieurs ça ne va pas ?

echo "c'est bon"


echo "c'est pas bon"

Je pourrais faire un controle si il est vide ou pas, mais ce n'est pas ça dont j'ai besoin

Si vous avez une idée ?


--
david martin





--
david martin




--
david martin


Reply to: