Script shell

saaadia Messages postés 1 Statut Membre -  
jivef Messages postés 1024 Statut Membre -
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. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Bonjour,

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

    0
  2. dinaari Messages postés 2 Statut Membre
     
    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. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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. jivef Messages postés 1024 Statut Membre 306
       
      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