Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/06/2006, 16h27   #1
Membre régulier
 
Inscription : février 2006
Messages : 188
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 188
Points : 94
Points : 94
Par défaut Commande de recup donnees fichier txt

Bonjour,

Bon voila un fichier:
Code :
1
2
3
4
5
6
7
 
Jun 13 14:41:33 mtl2100.mtl.globul.fr 22: 1w5d: %SYS-5-CONFIG_I: Configured from console by vty0 (192.168.10.60)
Jun 13 14:47:51 mtl3285.mtl.globul.fr 37: 1w0d: %SYS-5-CONFIG_I: Configured from console by vty0 (192.168.10.60)
Jun 13 14:48:00 192.168.10.9 23: 1w5d: %SYS-5-CONFIG_I: Configured from console by vty0 (192.168.10.60)
Jun 13 14:51:04 192.168.10.9 24: 1w5d: %LINK-5-CHANGED: Interface FastEthernet0/4, changed state to administratively down
Jun 13 14:51:04 192.168.10.9 25: 1w5d: %LINK-5-CHANGED: Interface FastEthernet0/5, changed state to administratively down
Jun 13 14:51:04 192.168.10.9 26: 1w5d: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/4, changed state to down
Avec la commande:
Code :
1
2
 
cat /dossier/dossier/fichier.txt | cut -f 3,4,9,10,11,12,13,14,15,16,17,18,19,20 -d " "
J'obtiens ce que je veux:
Code :
1
2
3
4
5
6
 
14:41:33 mtl2100.mtl.globul.fr Configured from console by vty0 (192.168.10.60)
14:47:51 mtl3285.mtl.globul.fr Configured from console by vty0 (192.168.10.60)
14:48:00 192.168.10.9 Configured from console by vty0 (192.168.10.60)
14:51:04 192.168.10.9 Interface FastEthernet0/4, changed state to administratively down
[...]
La question est de savoir s'il y a moins "barbare" comme commande pour obtenir le même résultat. Le but est d'obtenir l'heure, l'auteur (adresse ou mtl...) et le problème, mais il faut faire attention a bien tout selectionné jusqu'à la fin. Le pb étant tout ce qu'il y a jusqu'à la fin de la ligne.

(faudrait vraiment que j'aprenne à utiliser sed ou awk et les expressions régulières... )
Voila, merci
fara morgana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 16h46   #2
Rédacteur
 
Inscription : mars 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 298
Points : 1 450
Points : 1 450
avec cut les champ peuvent etre cités de cette façon : cut -d " " -f 3,4,5,6-
ce qui signifie champs 3 et 4 et 5 et de 6 a la fin. ainsi
Code :
1
2
3
4
 
cat /dossier/dossier/fichier.txt | cut -f 3,4,9,10,11,12,13,14 .......................
devient
cut -d" " -f3,4,9- /dossier/dossier/fichier.txt
__________________
Marc
Slackware for ever ......
BASH - KSH ( http://marcg.developpez.com/ksh/ )
MarcG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 08h04   #3
Membre régulier
 
Inscription : février 2006
Messages : 188
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 188
Points : 94
Points : 94
Effectivement, ça marche;

au debut, j'ai essayé de faire un :
Code :
1
2
3
4
 
cat /dossier/dossier/fichier.txt | cut -f 6 -d ":"
et un
cat /dossier/dossier/fichier.txt | cut -f 3,4 -d " "
et puis les deux ensemble avec un | ça donnait rien, ce qui est normal.
Bref, je vais pas m'arracher les cheveux pour trouver une solution plus "propre", tant que les résultats sont la, c'est le principale.

Merci
fara morgana est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h51.


 
 
 
 
Partenaires

Hébergement Web