Yves j'y ai cru ;-) ~#wc -l supMajUserEmargos | grep -q "^1 " ; then echo "1 ligne" ; else echo "pas 1 seule ligne"; fi pas 1 seule ligne ~# alors que le fichier en contient une et une seule.
Pas si simple ;-) Le 1 juin 2017 à 14:04, David Martin <[email protected]> a écrit : > [ "$(wc -l < monfichier.txt)" == "1" ] && echo 'ok' || echo 'KO' > > Ne fonctionne pas > > > > Le 1 juin 2017 à 13:58, David Martin <[email protected]> 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 <[email protected] >> .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 > > -- david martin

