J'ai un fichier contenant ceci:
1415602803,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22
1415602807,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22
1415602811,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22
1415602815,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22
Je souhaite convertir l'horodatage en une date dans ce format:
2014-11-10 02:00:03,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22
2014-11-10 02:00:07,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22
2014-11-10 02:00:11,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22
2014-11-10 02:00:15,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22
Comment puis je faire ça?
Je sais que cela fonctionne: perl -pe 's/(\d+)/localtime($1)/e'
(à partir de cette question ) mais le format de sortie est Mon Nov 10 02:00:03 2014
.
Je sais que cette commande peut convertir les horodatages en ma sortie souhaitée:, date -d@1415602803 +"%F %H:%M:%S"
mais je ne pouvais pas la faire fonctionner avec l' awk
aide system("cmd")
de toutes les citations et ainsi de suite.
text-processing
awk
perl
Alaa Ali
la source
la source
awk 'BEGIN{ print strftime("%Y-%m-%d %H:%M:%S", 0) }'
donneawk: line 2: function strftime never defined
ici. Veuillez préciser que PAS CHAQUE AWK n'en astrftime()
! Pour une solution fonctionnant dans la plupart (tous?) Des AWK, veuillez utiliser ladate
commande externe pour rester portable.date
implémentations qui peuvent convertir des dates entre des formats en tant qu'extension, mais la façon dont cela se fait varie complètement entre les implémentations. Par exemple, la solution proposée par Costas utilise une syntaxe spécifique à GNUdate
. Si vous voulez la portabilité, utilisezperl
.Si vous le souhaitez,
awk
vous pouvez utiliser une commande externedate
avec n'importe quel format de datela source
strftime()
!Vous pouvez également essayer:
la source
Il y a 9 mois, j'ai posé une question qui était marquée d'un double de celle-ci. Je viens tout juste de voir une demande d'afficher la réponse qui a fonctionné pour moi sur cette question. Voici un lien vers cette question et réponse.
/unix//a/304009/172916
la source