J'ai un fichier généré par arpwatch qui contient des lignes contenant 3
ou 4 champs séparés par une tabulation.
Ça ressemble à ça:
8<-----------8<---------8<----------8<----------8<----------8<----------8<
0:c:76:45:cb:be 10.176.184.69 1159452619
0:10:b5:a4:f6:d8 10.176.202.9 1164988574 B-202-09
0:11:9:b9:32:6f 10.176.202.9 1160059098 B-202-09
0:2:44:16:67:58 10.176.182.131 1164897841
8<-----------8<---------8<----------8<----------8<----------8<----------8<
(Rien que cet exemple montre pourquoi je dois me palucher ce fichier)
Ce que je veux, c'est ajouter un nouveau <champ4>, qui serait la date en
human-readable (la sortie de date +%d"/"%m"/"%Y -d @<champ3>) et donc
repousser l'éventuel nom de machine comme <champ5>.
Dans l'exemple qui nous interesse, ça donnerait ça:
8<-----------8<---------8<----------8<----------8<----------8<----------8<
0:c:76:45:cb:be 10.176.184.69 1159452619 28/09/2006
0:10:b5:a4:f6:d8 10.176.202.9 1164988574 01/12/2006 B-202-09
0:11:9:b9:32:6f 10.176.202.9 1160059098 05/10/2006 B-202-09
0:2:44:16:67:58 10.176.182.131 1164897841 30/11/2006
8<-----------8<---------8<----------8<----------8<----------8<----------8<
Évidement vu la qualité des contributeurs ici, je ne doute pas que cela
sera réglé en moins de 3 minutes et 2 lignes de sed ou de awk, mais si
j'osais je demanderais en plus une petite explication didactique afin
que je puisse me débrouiller un peu seul à l'avenir.
Merci de votre aide.
--
<|Leo404|> tu peux m'aider à configurer ma connexion?
delepine| Mais encore ?
<|Leo404|> va te faire enculer
-+- Leo404 in Guide du linuxien pervers - "Connexions inavouables" -+-
Le Sat, 9 Dec 2006 22:41:57 +0100, Sébastien Monbrun aka TiChou a écrit:
Dans le message <news:, *Hugolino* tapota sur f.c.o.unix :
Avant l'exécution de la ligne: gawk -F't' -v OFS='t' '{$4 = strftime("%F",$3) "t" $4}1' ^^^^^^^^^^^^^^^^^ ^^ ^^
la variable $4 contient le nom de la machine. Lors de l'exécution cette variable est remplacée par la date.
Non, elle est remplacée par la concaténation de la date (strftime("%F",$3)), d'une tabulation ("t") et de la variable elle même ($4).
OK, je ne l'avais pas vu comme ça...
Mais une nouvelle variable $5 est « magiquement » créée pour stocker le nom de la machine.
Ce que tu crois être « une nouvelle variable $5 » ou plus exactement un cinquième champ, est seulement une partie (la fin) de ta variable $4.
OK
Donc je ne comprends pas ton exemple avec foobar
Comprends-tu mieux ?
Oui, merci. Par contre pour comprendre l'exemple de Stéphane il va falloir que je me creuse un peu les méninges, mais comme dit dans mon post originel, le but était aussi d'apprendre.
Merci de votre aide à tous.
-- Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles ou non. Lire la doc, c'est le Premier et Unique Commandement de l'informaticien. -+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas" -+- Hugo (né il y a 1 344 974 713 secondes)
Le Sat, 9 Dec 2006 22:41:57 +0100, Sébastien Monbrun aka TiChou a écrit:
Dans le message <news:slrnenl199.kh2.hugolino@Deborah.Rock-n-Roll.org>,
*Hugolino* tapota sur f.c.o.unix :
Avant l'exécution de la ligne:
gawk -F't' -v OFS='t' '{$4 = strftime("%F",$3) "t" $4}1'
^^^^^^^^^^^^^^^^^ ^^ ^^
la variable $4 contient le nom de la machine.
Lors de l'exécution cette variable est remplacée par la date.
Non, elle est remplacée par la concaténation de la date (strftime("%F",$3)),
d'une tabulation ("t") et de la variable elle même ($4).
OK, je ne l'avais pas vu comme ça...
Mais une nouvelle variable $5 est « magiquement » créée pour stocker le
nom de la machine.
Ce que tu crois être « une nouvelle variable $5 » ou plus exactement un
cinquième champ, est seulement une partie (la fin) de ta variable $4.
OK
Donc je ne comprends pas ton exemple avec foobar
Comprends-tu mieux ?
Oui, merci.
Par contre pour comprendre l'exemple de Stéphane il va falloir que je me
creuse un peu les méninges, mais comme dit dans mon post originel,
le but était aussi d'apprendre.
Merci de votre aide à tous.
--
Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles ou non.
Lire la doc, c'est le Premier et Unique Commandement de l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas" -+-
Hugo (né il y a 1 344 974 713 secondes)
Le Sat, 9 Dec 2006 22:41:57 +0100, Sébastien Monbrun aka TiChou a écrit:
Dans le message <news:, *Hugolino* tapota sur f.c.o.unix :
Avant l'exécution de la ligne: gawk -F't' -v OFS='t' '{$4 = strftime("%F",$3) "t" $4}1' ^^^^^^^^^^^^^^^^^ ^^ ^^
la variable $4 contient le nom de la machine. Lors de l'exécution cette variable est remplacée par la date.
Non, elle est remplacée par la concaténation de la date (strftime("%F",$3)), d'une tabulation ("t") et de la variable elle même ($4).
OK, je ne l'avais pas vu comme ça...
Mais une nouvelle variable $5 est « magiquement » créée pour stocker le nom de la machine.
Ce que tu crois être « une nouvelle variable $5 » ou plus exactement un cinquième champ, est seulement une partie (la fin) de ta variable $4.
OK
Donc je ne comprends pas ton exemple avec foobar
Comprends-tu mieux ?
Oui, merci. Par contre pour comprendre l'exemple de Stéphane il va falloir que je me creuse un peu les méninges, mais comme dit dans mon post originel, le but était aussi d'apprendre.
Merci de votre aide à tous.
-- Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles ou non. Lire la doc, c'est le Premier et Unique Commandement de l'informaticien. -+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas" -+- Hugo (né il y a 1 344 974 713 secondes)