-
[script ksh] word count
Bonjour,
Je pense que je me suis trompé de forum mais je n'arrive pas a trouvé une rubrique script sur le site... (Peu être dans linux mais les scripts ne sont pas forcement utilisé que sur linux)
Mon script étant en rapport avec une base de données je le met la.
J'utilise un script ksh pour lancer ma requête sql.
Je veux compter le nombre de ligne de mon fichier csv créée par la requête mais je ne veut pas comptabilisé la première ligne.
je fait donc un :
Code:
nbligne=`wc -l $ATTENTES_NAME | cut -c 1-8`
mais je voudrait faire un -1, comment faire ??
Ca doit être très simple mais je n'arrive pas a trouver comment faire sur internet.
Merci de votre aide.
-
Comme ça :
Code:
nbligne=$(( $(wc -l $ATTENTES_NAME | cut -c 1-8) - 1 ))
-
Citation:
Envoyé par
al1_24
Comme ça :
Code:
nbligne=$(( $(wc -l $ATTENTES_NAME | cut -c 1-8) - 1 ))
Code:
nbligne=$[( $(wc -l $ATTENTES_NAME | cut -c 1-8) - 1 )]
Avec des crochets plutôt, non ? J'ai pas de linux sous la main :oops:
-
La première solution de al etait la bonne.
Je ne savait pas que l'on pouvait pouvait mettre des parenthèse après le $, je pensait que c'etait des acoolade.
Merci, ca fait exactement ce que je veut.
-
est pareil que
Et là je viens d'apprendre que
Code:
$[ monexpressionarithmétique ]
était pareil que
Code:
$(( monexpressionarithmétique ))
-
Je recommande d'utiliser $(( )) plutôt que $[ ], car c'est beaucoup plus portable. Je ne connaissais pas cette 2e écriture, mais elle est refusée par de nombreux shells.
Et je préfère largement $( ) à ` ` pour des raisons de lisibilité (en particulier quand il y a d'autres quotes), et parce que ça peut s'imbriquer.