Script shell

je veux savoir comment extraire la nième ligne d'un script shell.j'ai essayé avec la commande ci dessous,mais elle retourne toujours p.

var='sed -n '$ip' fichier.txt'

merci de m'aider.

2 réponses

  1. merci pour votre aide, mais j'ai rencontré un autre problème:
    je travaille sur la boucle ci dessous mais je n'arrive pas à trouver un résultat:

    j=2; 
    for i in $(seq 0 1 39) 
    do 
     let "a=  $i * $j " 
     echo $a 
     b=$((2+$a)) 
     echo $b 
     var=$(sed -n "${i}p" temps_reception0.txt) 
    echo $var 
     delai=$(($var-$b)) 
     echo $delai 
    done


    le problème réside dans la dernière instruction sachant que var est nombre réel
    delai=$(($var-$b))

    s'il vous plait aidez moi, c'est urgent.
    0
    1. Contributeur
      sachant que var est nombre réel

      Le shell ne gère pas les nombres réels. Il te faut les traiter avec la commande bc par exemple ou utiliser awk.
      0
    2. Bonjour,
      Un shell n'est pas un langage de programmation, même si parfois il peut y ressembler.
      Il permet de traiter des fichiers ou des éléments du systèmes mais il n'est pas conçu pour faire des calculs complexes.

      Quelques commandes permettent de traiter des décimales, c'est déjà bien.
      awk est "moins inadapté" , il a une syntaxe proche du C.

      Bon courage.
      0
  2. Contributeur
    Bonjour,

    var=$(sed -n "${i}p" fichier.txt)

    0