Shell Script Simple Mais Problèmatique

Fermé
Flex - 11 nov. 2007 à 18:45
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 11 nov. 2007 à 20:23
Bonjour,
Voilà J'ai un petit problème concernant l'écriture d'un script shell,
l'idée est en fait assez simple
==> je dispose d'un fichier A.txt qui contient

1:20
2:19
3:18
4:17
etc.... jusqu'à
10:10

en ecrivant un script je dois afficher les lignes dont le deuxième nombre est supérieur à 13 ( donc je dois afficher 1:20 , 2:19 etc... 6:14 )
alors voilà le script => TOUT SIMPLE :p

#!/bin/bash

IFS=:

set $

while read ligne

do

if [ $1 -gt 4 ]

then echo "gg à $2"

fi

done < A.txt

Problème est qu'en fait j'ai une réponse d'erreur de la part du bash =>

[: 17: $: bad number
[: 17: $: bad number
[: 17: $: bad number
[: 17: $: bad number
[: 17: $: bad number
[: 17: $: bad number
[: 17: $: bad number
[: 17: $: bad number
[: 17: $: bad number
[: 17: $: bad number

Please que faire? j'dois absolument utiliser la commande "set"

Je précise que sa marche niquel si je n'ai qu'un caractère par ligne dans mon fichier :p

Merci d'avance
A voir également:

2 réponses

Bon merci pour vos réponses :p j'ai trouvé tout seul


#!/bin/bash

IFS=:

set $ligne

while read ligne

do

if [ $ligne -gt 4 ]

then echo "gg à $2"

fi

done < A.txt
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
11 nov. 2007 à 20:23
Salut,

T'es sûr qu'il marche ton script ? :-\
-1