Script shell

saaadia Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Bonjour,

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

0
dinaari Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
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
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
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
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   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