我有一个日志文件,我想用C程序在以下文件中打印以太网地址。那我该怎么做?我的日志文件如下:是否可以打印日志文件的特定部分?
*Thu Dec 25 11:40:41 2014; ******** LAN traffic monitor started ********** LAN traffic log, generated Thu Dec 25 11:41:41 2014
Ethernet address: 08:00:27:d7:54:fa
Incoming total 389 packets, 184398 bytes; 388 IP packets
Outgoing total 383 packets, 64444 bytes; 382 IP packets
Average rates: 24.58 kbps incoming, 8.59 kbps outgoing
Last 5-second rates: 0.86 kbps incoming, 0.45 kbps outgoing
Ethernet address: 52:54:00:12:35:02
Incoming total 383 packets, 64444 bytes; 382 IP packets
Outgoing total 389 packets, 184398 bytes; 388 IP packets
Average rates: 8.59 kbps incoming, 24.58 kbps outgoing
Last 5-second rates: 0.45 kbps incoming, 0.86 kbps outgoing
Running time: 60 seconds
*** LAN traffic log, generated Thu Dec 25 11:42:41 2014
iEthernet address: 08:00:27:d7:54:fa
Incoming total 395 packets, 184935 bytes; 393 IP packets
Outgoing total 389 packets, 64805 bytes; 387 IP packets
Average rates: 12.33 kbps incoming, 4.32 kbps outgoing
Last 5-second rates: 0.00 kbps incoming, 0.00 kbps outgoing
Ethernet address: 52:54:00:12:35:02
Incoming total 389 packets, 64805 bytes; 387 IP packets
Outgoing total 395 packets, 184935 bytes; 393 IP packets
Average rates: 4.32 kbps incoming, 12.33 kbps outgoing
Last 5-second rates: 0.00 kbps incoming, 0.00 kbps outgoing
Running time: 120 seconds
欢迎来到Stack Overflow。请尽快阅读[关于]页面。请注意,您的问题含糊不清,因为您尚未准确定义要从样本数据中获得的输出(但您最好包含样本数据)。展示你的尝试也是一个好主意。目前还不清楚shell脚本是否足够,或者你是否真的需要一个C程序。我希望在任务中使用'sed'或'grep',并在编写C代码完成这项工作之前使用'awk'或Perl或Python进行更复杂的处理。所有这些都是C程序;虽然它们不是自定义的C程序。 – 2014-12-27 22:05:01
如果你真的需要编写C程序,正则表达式函数可能是有用的(参见你的系统上的'regcomp()','regexec()'等手册页)。 – kestasx 2014-12-27 23:36:49