Script shell

Fermé
saaadia Messages postés 1 Date d'inscription samedi 26 avril 2014 Statut Membre Dernière intervention 27 avril 2014 - 27 avril 2014 à 00:08
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 - 7 mai 2014 à 05:09
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
27 avril 2014 à 00:11
Bonjour,

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

0
dinaari Messages postés 1 Date d'inscription samedi 26 avril 2014 Statut Membre Dernière intervention 27 avril 2014
Modifié par jipicy le 27/04/2014 à 10:54
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
27 avril 2014 à 10:52
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 mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 306
7 mai 2014 à 05:09
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