Me against BASH

Yo,
petit soucis de syntaxe pour utiliser une variable incrementé dans ma boucle while:
Voilà:
#! /bin/bash
#compte le nombre de lignes
comptelignes=`cat cli | wc -l`
echo "\nnombre de lignes :"$comptelignes
# une boucle qui lit ligne par ligne


increment=1
while [ $increment -lt $comptelignes ]
do
	echo "--------------ligne "$increment"\n"
	increment=$((increment+1))
	cat cli | sed -n -e`$increment`p
done

# cat cli | sed -n -e 2p affiche la ligne 2

le truc c'est quand je tape ma ligne ": cat cli | sed -n -e 2p "dans la console il m'affiche bien la ligne 2 de mon fichier texte, dans mon script il m'affiches 19 fois toutes les lignes :s
Configuration: Windows XP
Firefox 1.5

2 réponses

  1. yop super,
    je vais tester ça, je me doutais qu'il y avait un truc avec les accolades mais comme j'ai jamais utilisé....
    merci jipi
    0
    1. Modérateur
      Salut,
      #! /bin/bash
      #compte le nombre de lignes
      comptelignes=$(cat cli | wc -l)
      echo "nombre de lignes : $comptelignes"
      # une boucle qui lit ligne par ligne
      
      
      increment=1
      while [ $increment -lt $comptelignes ]
      do
              echo "--------------ligne $increment"
              increment=$((increment+1))
              sed -n -e "${increment}"p cli
      done
      :-))
      -1