Me against BASH

Bash&Slash -  
 Bash&Slash -
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. Bash&Slash
     
    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
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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