Succesion de variable dans un script
Résolu
nabil1706
Messages postés
17
Statut
Membre
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
J'essaie d'optimisier un script en evitant d'ecrire dans des fichiers successifs. Pour cela je voudrais uniquement utiliser des variables, mais je n'y arrive pas.
Voila une partie du script :
/usr/local/rep1/telnet_lns.sh $1 $2 $3 > /home/monrep/$1_01.txt ;
echo $2 > titi
A=`cat titi | cut -c 5-8`
grep $A /home/monrep/$1_01.txt | tr -s "[:blank:]" "*" | cut -f 6 -d "*" >/home/monrep/fic_tot; awk '
{ s += $1 } END { print s }' /home/monrep/fic_tot
en gros je recupere des données sur une machine et le recupere les nombre que je veux en faisant des grep successifs avec les bons parametres pour en faire le total
Merci pour vos reponses
J'essaie d'optimisier un script en evitant d'ecrire dans des fichiers successifs. Pour cela je voudrais uniquement utiliser des variables, mais je n'y arrive pas.
Voila une partie du script :
/usr/local/rep1/telnet_lns.sh $1 $2 $3 > /home/monrep/$1_01.txt ;
echo $2 > titi
A=`cat titi | cut -c 5-8`
grep $A /home/monrep/$1_01.txt | tr -s "[:blank:]" "*" | cut -f 6 -d "*" >/home/monrep/fic_tot; awk '
{ s += $1 } END { print s }' /home/monrep/fic_tot
en gros je recupere des données sur une machine et le recupere les nombre que je veux en faisant des grep successifs avec les bons parametres pour en faire le total
Merci pour vos reponses
A voir également:
- Succesion de variable dans un script
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
5 réponses
Salut,
Peut être qu'avec un aperçu du script "telnet_lns.sh", des valeurs des paramètres "$1 $2 $3" on pourrait davantage te préter main forte, non ?
Enfin si tu veux bien...
;-)
Peut être qu'avec un aperçu du script "telnet_lns.sh", des valeurs des paramètres "$1 $2 $3" on pourrait davantage te préter main forte, non ?
Enfin si tu veux bien...
;-)
Ok merci.
Par contre il nous faudrait aussi les paramètres et un aperçu de ton fichier "$1_01.txt" pour essayer de t'aider à optimiser le tout.
Par contre il nous faudrait aussi les paramètres et un aperçu de ton fichier "$1_01.txt" pour essayer de t'aider à optimiser le tout.
Re bonjour
voila un apperçu
spawn telnet cbv-lns-1
Trying XXX.XXX.XXX.XXX...
Connected to cbv-lns-1 (XXX.XXX.XXX.XXX).
Escape character is '^]'.
CBV-LNS-1
This router is the property of XXXXX.
All actions are monitored.
Unauthorized access is prohibited.
Violators will be prosecuted.
For operational problems contact:
XXX Network Operations Centre
e-mail: XXX@XXX.XXX
phone : XX.XX.XX.XX
login: monlogin
Password:
Signon successful.
[local]CBV-LNS-1#terminal length 0
[local]CBV-LNS-1#context lns-LD1
[lns-LD1]CBV-LNS-1#show l2tp info
Conf. Tun Ses
Peer Name Local Name Role Source Count Count
-------------------- -------------------- ---- ------ ----- -----
L2TP_PW/XX.XX.XX.XX CBV-LNS-1-LD1 LNS Local 1 3 Unnamed
L2TP_PW/XX.XX.XX.XX1 CBV-LNS-1-LD1 LNS Local 1 2 Unnamed
L2TP_PW/XX.XX.XX.XX2 CBV-LNS-1-LD1 LNS Local 1 1 Unnamed
L2TP_PW/XX.XX.XX.XX3 CBV-LNS-1-LD1 LNS Local 1 1 Unnamed
L2TP_PW/XX.XX.XX.XX4 CBV-LNS-1-LD1 LNS Local 1 4 Unnamed
L2TP_PW/XX.XX.XX.XX5 CBV-LNS-1-LD1 LNS Local 1 5 Unnamed
L2TP_PW/XX.XX.XX.XX6 CBV-LNS-1-LD1 LNS Local 1 2 Unnamed
L2TP_PW/XX.XX.XX.XX7 CBV-LNS-1-LD2 LNS Local 1 1 Unnamed
je recupere le chiffre juste avant Unnamed et j'en fais la somme, ici pour LD1, ensuite pour LD2....
Pour info,Il y a des decalages de temps en temps sur les colonnes
voila un apperçu
spawn telnet cbv-lns-1
Trying XXX.XXX.XXX.XXX...
Connected to cbv-lns-1 (XXX.XXX.XXX.XXX).
Escape character is '^]'.
CBV-LNS-1
This router is the property of XXXXX.
All actions are monitored.
Unauthorized access is prohibited.
Violators will be prosecuted.
For operational problems contact:
XXX Network Operations Centre
e-mail: XXX@XXX.XXX
phone : XX.XX.XX.XX
login: monlogin
Password:
Signon successful.
[local]CBV-LNS-1#terminal length 0
[local]CBV-LNS-1#context lns-LD1
[lns-LD1]CBV-LNS-1#show l2tp info
Conf. Tun Ses
Peer Name Local Name Role Source Count Count
-------------------- -------------------- ---- ------ ----- -----
L2TP_PW/XX.XX.XX.XX CBV-LNS-1-LD1 LNS Local 1 3 Unnamed
L2TP_PW/XX.XX.XX.XX1 CBV-LNS-1-LD1 LNS Local 1 2 Unnamed
L2TP_PW/XX.XX.XX.XX2 CBV-LNS-1-LD1 LNS Local 1 1 Unnamed
L2TP_PW/XX.XX.XX.XX3 CBV-LNS-1-LD1 LNS Local 1 1 Unnamed
L2TP_PW/XX.XX.XX.XX4 CBV-LNS-1-LD1 LNS Local 1 4 Unnamed
L2TP_PW/XX.XX.XX.XX5 CBV-LNS-1-LD1 LNS Local 1 5 Unnamed
L2TP_PW/XX.XX.XX.XX6 CBV-LNS-1-LD1 LNS Local 1 2 Unnamed
L2TP_PW/XX.XX.XX.XX7 CBV-LNS-1-LD2 LNS Local 1 1 Unnamed
je recupere le chiffre juste avant Unnamed et j'en fais la somme, ici pour LD1, ensuite pour LD2....
Pour info,Il y a des decalages de temps en temps sur les colonnes
Encore un petit truc... à quoi correspond "$2" (je suppose que ça a un rapport avec "LD1") ?
Oui exactement...
Je telnet une machine avec des variables $2 (qui est "xxx-LD1"), $3 qui est xxx-LD2).
donc dans mon script, il faut que je recupere LD1 (donc sans xxx-)pour que mon grep puisse recupere les bonnes lignes
C'est pour ça que que je recupere $2 dans un fichier pour le cutter afin de n'avoir que les 3 dernier caracteres..ici LD1
merci
Je telnet une machine avec des variables $2 (qui est "xxx-LD1"), $3 qui est xxx-LD2).
donc dans mon script, il faut que je recupere LD1 (donc sans xxx-)pour que mon grep puisse recupere les bonnes lignes
C'est pour ça que que je recupere $2 dans un fichier pour le cutter afin de n'avoir que les 3 dernier caracteres..ici LD1
merci
Voilà ce que ça pourrait donner :
# Là on change rien
/usr/local/rep1/telnet_lns.sh $1 $2 $3 > /home/monrep/$1_01.txt
# Plutôt que de passer par un fichier, autant passer par une variable
# Changer "$2" par "$3" si nécessaire
A=$(expr "$2" : ".*\(...\)")
# Puis on enchaîne
grep -E "($A |unnamed$)" /home/monrep/$1_01.txt | awk '{ s += $6 } END { print s }';-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le voila....le script permet de se connecter à uen machine distante pour recuperer des infos pour faire des stats
#!/usr/bin/expect
set timeout 120
set lns [lindex $argv 0]
set ctx1 [lindex $argv 1]
set ctx2 [lindex $argv 2]
set ctx3 [lindex $argv 3]
set ctx4 [lindex $argv 4]
set ctx5 [lindex $argv 5]
set ctx6 [lindex $argv 6]
spawn telnet $lns
expect "login: "
send "monlogin\r"
expect "Password:"
send "monpassword\r"
expect "#"
send "terminal length 0\r"
expect "#"
send "context $ctx1\r"
expect "#"
send "show l2tp info\r"
expect "#"