1 votes

Comment puis-je faire des bindings DNSMASQ dans un format lisible par l'homme ?

Je souhaite mettre en place un alias ou un script qui me permettra d'afficher les liaisons DHCP que dnsmasq a.

$ cat /var/lib/misc/dnsmasq.leases
1411349054 08:11:96:e9:52:ec 192.168.1.96 W11837894 *

1411413528 b4:b6:76:0c:c9:4d 192.168.1.46 root-HP-9470m *

1411263016 00:1b:21:0e:f2:bd 192.168.1.219 root-Dell-DM061 *

1411357237 00:01:2e:4d:49:bd 192.168.1.31 ata *

1411263041 00:30:67:d2:25:65 192.168.1.51 root-TA75M *

Je peux prendre la 1ère colonne et faire une date -d @1411349054 (ou awk '{print $1}' /var/lib/misc/dnsmasq.leases | awk '{ print strftime("%c")}' )

Sun Sep 21 20:24:14 CDT 2014

Je cherche un moyen dans awk de formater comme ceci :

Sun Sep 21 20:24:14 CDT 2014 08:11:96:e9:52:ec 192.168.1.96 W11837894 *

Mon Sep 22 14:18:48 CDT 2014 b4:b6:76:0c:c9:4d 192.168.1.46 root-HP-9470m *

Quelqu'un a-t-il une idée ?

2voto

Avinash Raj Points 72686

Vous pouvez essayer la commande awk ci-dessous,

awk 'NF{ $1=strftime("%c", $1);}1' file

OU

$ awk 'NF>1{ $1=strftime("%c", $1);}1' file
Monday 22 September 2014 06:54:14 AM IST 08:11:96:e9:52:ec 192.168.1.96 W11837894 *

Tuesday 23 September 2014 12:48:48 AM IST b4:b6:76:0c:c9:4d 192.168.1.46 root-HP-9470m *

Sunday 21 September 2014 07:00:16 AM IST 00:1b:21:0e:f2:bd 192.168.1.219 root-Dell-DM061 *

Monday 22 September 2014 09:10:37 AM IST 00:01:2e:4d:49:bd 192.168.1.31 ata *

Sunday 21 September 2014 07:00:41 AM IST 00:30:67:d2:25:65 192.168.1.51 root-TA75M *

0voto

muru Points 180007

Cette commande awk devrait faire l'affaire,

awk '{if ($1) {$1=strftime("%c",$1); print}}' /var/lib/misc/dnsmasq.leases

Ancienne version qui affichait l'époque Unix sur les lignes vides :

awk '{time=$1; $1=""; print strftime("%c",time) $0}' /var/lib/misc/dnsmasq.leases

L'astuce consiste à appliquer strftime uniquement à l'argument pertinent et imprimer tout le reste tel quel. J'ai emprunté cette partie à ceci Question sur le SO . (Étant donné que votre strftime a fonctionné correctement, je suppose que vous avez gawk installés. Si ce n'est pas le cas, faites sudo apt-get install gawk .)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X