Probleme script bash !! redirection fichier..
Résolu/Fermé
origan31
Messages postés
7
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
25 août 2007
-
25 août 2007 à 17:33
origan31 Messages postés 7 Date d'inscription samedi 25 août 2007 Statut Membre Dernière intervention 25 août 2007 - 25 août 2007 à 23:35
origan31 Messages postés 7 Date d'inscription samedi 25 août 2007 Statut Membre Dernière intervention 25 août 2007 - 25 août 2007 à 23:35
A voir également:
- Probleme script bash !! redirection fichier..
- Fichier rar - Guide
- Script vidéo youtube - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
12 réponses
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
25 août 2007 à 17:45
25 août 2007 à 17:45
Salut,
variable=$(cat toto.txt);-))
origan31
Messages postés
7
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
25 août 2007
25 août 2007 à 18:36
25 août 2007 à 18:36
merci Jipicy, j'ai donc essayer de faire le bash mais sans success :-((
pourrais-tu m'aider ?? voici le petit script :
#! /bin/bash
variable=$(cat toto.txt)
for variable in $variable
if [ "$variable" = "maison" ]
then
ls
fi
Merci,
climbing31@gmail.com
pourrais-tu m'aider ?? voici le petit script :
#! /bin/bash
variable=$(cat toto.txt)
for variable in $variable
if [ "$variable" = "maison" ]
then
ls
fi
Merci,
climbing31@gmail.com
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
25 août 2007 à 18:49
25 août 2007 à 18:49
Explique clairement ce que tu veux faire :
- affiche le contenu de ton fichier "toto.txt"
- précise si tu veux rechercher qu'un mot ou une chaîne précise ou encore une ligne ou autre...
- affiche le contenu du répertoire que tu veux lister
- à la place de "for variable in $variable" il vaudrait mieux changer de nom pour ne pas avoir 2 nom de variable identique
- etc.
Dernier point : Retire ton mail de tes posts merci.
- affiche le contenu de ton fichier "toto.txt"
- précise si tu veux rechercher qu'un mot ou une chaîne précise ou encore une ligne ou autre...
- affiche le contenu du répertoire que tu veux lister
- à la place de "for variable in $variable" il vaudrait mieux changer de nom pour ne pas avoir 2 nom de variable identique
- etc.
Dernier point : Retire ton mail de tes posts merci.
origan31
Messages postés
7
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
25 août 2007
25 août 2007 à 19:03
25 août 2007 à 19:03
d'accord pour plus de précision ;-)
- Dans un fichier "toto.txt", a la première ligne il y a une chaine de caractère, une phrase, exemple :
"je m'appel toto"
- Je souhaiterais dans un "bash" dire :
Si dans le fichier "toto.txt" dans la première ligne il est écrit "je m'appel toto" alors envoyer un mail
Si dans le fichier "toto.txt" dans la première ligne il n'est pas écrit "je m'appel toto" alors ne rien faire
merci
- Dans un fichier "toto.txt", a la première ligne il y a une chaine de caractère, une phrase, exemple :
"je m'appel toto"
- Je souhaiterais dans un "bash" dire :
Si dans le fichier "toto.txt" dans la première ligne il est écrit "je m'appel toto" alors envoyer un mail
Si dans le fichier "toto.txt" dans la première ligne il n'est pas écrit "je m'appel toto" alors ne rien faire
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
25 août 2007 à 19:16
25 août 2007 à 19:16
Il y a sûrement d'autres façons de faire, en voilà une :
[tmpfs]$ cat toto.txt je m'appelle toto je m'appelle tutu je m'appelle titi [tmpfs]$ cat origan31.sh #! /bin/bash # set -xv head -1 "$1" | grep "$2" >/dev/null if [ "$?" == 0 ] then echo "La 1ère ligne contient bien : $2" else echo "La 1ère ligne ne contient pas : $2" fi [tmpfs]$ ./origan31.sh toto.txt "je m'appelle toto" La 1ère ligne contient bien : je m'appelle toto [tmpfs]$ ./origan31.sh toto.txt "je m'appelle momo" La 1ère ligne ne contient pas : je m'appelle momo [tmpfs]$;-))
origan31
Messages postés
7
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
25 août 2007
25 août 2007 à 20:19
25 août 2007 à 20:19
merci beaucoup Jipicy pour cette réponse,
j'obtient bien un résultat, j'ai juste un second probleme :
- Dans le fichier "toto.txt", a la première ligne j'aurais une phrase du type :
"la température est de 25 degrés celcius"
- Dans ce "bash", je souhaiterais dire :
Si dans le fichier "toto.txt" je trouve une valeur du chiffre supérieur a 25 alors
j'envoi un mail.
est-ce que c'est possible?
merci de l'aide,
j'obtient bien un résultat, j'ai juste un second probleme :
- Dans le fichier "toto.txt", a la première ligne j'aurais une phrase du type :
"la température est de 25 degrés celcius"
- Dans ce "bash", je souhaiterais dire :
Si dans le fichier "toto.txt" je trouve une valeur du chiffre supérieur a 25 alors
j'envoi un mail.
est-ce que c'est possible?
merci de l'aide,
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
25 août 2007 à 20:32
25 août 2007 à 20:32
[tmpfs]$ cat toto.txt la température est de 28 degrés celcius je m'appelle toto je m'appelle tutu je m'appelle titi [tmpfs]$ cat origan31.sh #! /bin/bash # set -xv temp=$(head -1 $1 | egrep -o "[0-9]{2}") if [ "$temp" -gt 25 ] then echo "Attention la température excède les 25° !!! " fi [tmpfs]$ ./origan31.sh toto.txt Attention la température excède les 25° !!! [tmpfs]$;-))
origan31
Messages postés
7
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
25 août 2007
25 août 2007 à 20:47
25 août 2007 à 20:47
merci beaucoup !! ca marche presque (je me débrouillerais ensuite pour envoyer le résultat par mail)
J'ai juste un probleme, une erreur quand je lance le bash,
En fait la phrase qu'il y a dans "toto.txt" est :
SNMPv2-SMI::enterprises.9.9.13.1.3.1.3.1 = Gauge32: 26
et c'est le dernier chiffre "26" qui est la température, tout le reste ne change jamais.
j'ai l'erreur:
./origan31.sh: line 7: [: 13
32
26: integer expression expected
merci beaucoup pour votre aide ,
J'ai juste un probleme, une erreur quand je lance le bash,
En fait la phrase qu'il y a dans "toto.txt" est :
SNMPv2-SMI::enterprises.9.9.13.1.3.1.3.1 = Gauge32: 26
et c'est le dernier chiffre "26" qui est la température, tout le reste ne change jamais.
j'ai l'erreur:
./origan31.sh: line 7: [: 13
32
26: integer expression expected
merci beaucoup pour votre aide ,
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
25 août 2007 à 22:48
25 août 2007 à 22:48
Change la ligne :
temp=$(head -1 $1 | egrep -o "[0-9]{2}")par celle là :
temp=$(head -1 $1 | egrep -o "([0-9]{2})$")et ça devrait rouler ;-))
origan31
Messages postés
7
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
25 août 2007
25 août 2007 à 23:20
25 août 2007 à 23:20
super merci Jipicy ! ca marche ;-)
un dernier probleme aprés je t'embete plus !
je voudrais envoyer un mail au lieu de "echo",
j'ai écris pour le mail
#!/bin/sh
# set -xv
temp=$(head -1 $1 | egrep -o "([0-9]{2})$")
if [ "$temp" -gt 20 ]
then
mail climbing31@gmail.com -s "Attention la temperature excede 25 degres !!!"
fi
(sendmail est configué sur la machine)
Merci,
un dernier probleme aprés je t'embete plus !
je voudrais envoyer un mail au lieu de "echo",
j'ai écris pour le mail
#!/bin/sh
# set -xv
temp=$(head -1 $1 | egrep -o "([0-9]{2})$")
if [ "$temp" -gt 20 ]
then
mail climbing31@gmail.com -s "Attention la temperature excede 25 degres !!!"
fi
(sendmail est configué sur la machine)
Merci,
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
25 août 2007 à 23:27
25 août 2007 à 23:27
echo "Attention la temperature excede 25 degres !!! " | mail climbing31@gmail.com -s "Warning !!! ";-))
origan31
Messages postés
7
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
25 août 2007
25 août 2007 à 23:35
25 août 2007 à 23:35
resalut Jipicy, merci beaucoup ca fonctionne !!!
encore merci pour votre aide
;-)
encore merci pour votre aide
;-)