Tengo un archivo de texto generado por otro programa el cual tiene muchos campos en cada segmento, de los cuales suelen repetirse valores al azar, lo que quiero es extraer 3 valores de cada segmento sin repetir los resultados extraidos, aqui el contenido de mi archivo datos.txt
Código:
De todo este texto solo quiero extraer lo siguiente:CM> 0x000e4aac ['DHCP Client Thread' id=0x807c8fa0] BcmDhcpClientIf::ProcessPacket: (DHCP ClientIf for IP Stack1) INFO - Parsed the DHCP packet: DHCP Packet contents: Type = 2 Hops = 0 Xid = 0x5c76374 Secs = 0 Flags = 0x8000 Bcast Enabled = true pfDhcpLeaseSettings = 0x805542ec DHCP Lease Settings: Is Valid = true DHCP Message Type = Offer Hardware Type (htype) = 1 Hardware Length (hlen) = 6 Client IP Address (ciaddr) = 0.0.0.0 Your IP Address (yiaddr) = 10.36.128.65 My offered IP address = 10.36.128.65 TFTP Server IP address (siaddr) = 192.168.4.1 Relay Agent IP address (giaddr) = 10.36.128.1 Client Hardware Address (chaddr) = 00:1c:fb:2f:09:40 TFTP Server Name = (12 of 12 bytes) '192.168.4.1' Boot Filename = (16 of 16 bytes) 'cm-001cfb2f0940' DHCP Options = (125 of 125 bytes) (1) Subnet Mask = 255.255.224.0 (2) UTC Time Offset = -18000 (3) Router IP address = 10.36.128.1 (4) Time Server IP address = 192.168.4.1; 192.168.4.1 (7) Log Server IP address = 192.168.4.1; 192.168.4.1 (51) Lease time = 1382400 (54) DHCP Server IP address = 192.168.4.1 (122) PacketCable = 01 04 c0 a8 04 01 02 04 c0 a8 04 01 (67) Boot File Name = 'cm-001cfb2f0940' 0x000e4aac ['DHCP Client Thread' id=0x807c8fa0] BcmDhcpClientIf::ProcessPacket: (DHCP ClientIf for IP Stack3) INFO - Parsed the DHCP packet: DHCP Packet contents: Type = 2 Hops = 0 Xid = 0x5c76374 Secs = 0 Flags = 0x8000 Bcast Enabled = true pfDhcpLeaseSettings = 0x80552f0c DHCP Lease Settings: Is Valid = true DHCP Message Type = Offer Hardware Type (htype) = 1 Hardware Length (hlen) = 6 Client IP Address (ciaddr) = 0.0.0.0 Your IP Address (yiaddr) = 10.36.128.65 My offered IP address = 10.36.128.65 TFTP Server IP address (siaddr) = 192.168.4.1 Relay Agent IP address (giaddr) = 10.36.128.1 Client Hardware Address (chaddr) = 00:1c:fb:2f:09:40 TFTP Server Name = (12 of 12 bytes) '192.168.4.1' Boot Filename = (16 of 16 bytes) 'cm-001cfb2f0940' DHCP Options = (125 of 125 bytes) (1) Subnet Mask = 255.255.224.0 (2) UTC Time Offset = -18000 (3) Router IP address = 10.36.128.1 (4) Time Server IP address = 192.168.4.1; 192.168.4.1 (7) Log Server IP address = 192.168.4.1; 192.168.4.1 (51) Lease time = 1382400 (54) DHCP Server IP address = 192.168.4.1 (122) PacketCable = 01 04 c0 a8 04 01 02 04 c0 a8 04 01 (67) Boot File Name = 'cm-001cfb2f0940' 0x001919c8 ['DHCP Client Thread' id=0x807c8fa0] BcmDhcpClientIf::ProcessPacket: (DHCP ClientIf for IP Stack3) INFO - Parsed the DHCP packet: DHCP Packet contents: Type = 2 Hops = 0 Xid = 0x5c76374 Secs = 0 Flags = 0x8000 Bcast Enabled = true pfDhcpLeaseSettings = 0x80552f0c DHCP Lease Settings: Is Valid = true DHCP Message Type = Offer Hardware Type (htype) = 1 Hardware Length (hlen) = 6 Client IP Address (ciaddr) = 0.0.0.0 Your IP Address (yiaddr) = 10.36.138.20 My offered IP address = 10.36.138.20 TFTP Server IP address (siaddr) = 192.168.4.1 Relay Agent IP address (giaddr) = 10.36.128.1 Client Hardware Address (chaddr) = 00:1c:fb:32:e1:be TFTP Server Name = (12 of 12 bytes) '192.168.4.1' Boot Filename = (16 of 16 bytes) 'cm-001cfb32e1be' DHCP Options = (125 of 125 bytes) (1) Subnet Mask = 255.255.224.0 (2) UTC Time Offset = -18000 (3) Router IP address = 10.36.128.1 (4) Time Server IP address = 192.168.4.1; 192.168.4.1 (7) Log Server IP address = 192.168.4.1; 192.168.4.1 (51) Lease time = 1382400 (54) DHCP Server IP address = 192.168.4.1 (122) PacketCable = 01 04 c0 a8 04 01 02 04 c0 a8 04 01 (67) Boot File Name = 'cm-001cfb32e1be'
Código:
Dicho Resultado me gustaria mostrarlo en pantalla y a su vez se genere otro archivo de texto con los resultados.My offered IP address Client Hardware Address (chaddr) (67) Boot File Name 10.36.128.65 00:1c:fb:2f:09:40 cm-001cfb2f0940 10.36.138.20 00:1c:fb:32:e1:be cm-001cfb32e1be
se que tengo que empezar con:
Código PHP:
if ($file = fopen( "/ruta/datos.txt", "r")) {
// Aqui código para recuperar datos NO SE QUE HACER
fclose($file);
}