LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 765|回复: 7

求助一个C程序的编写!!

[复制链接]
发表于 2005-4-21 15:23:26 | 显示全部楼层 |阅读模式
假如我一个文件,内容如下:
NAME       DEV  TYPE  IPADDR          NETMASK         ROUTE           STATUS     
---------------------------------------------------------------------------
INTERNAL   eth0 ETH   192.168.13.0    255.255.255.0   0.0.0.0         INVALID
  MAC[00:00:00:00:00:00] Bridge[]
  IPSEC=off[] RDEV[eth0] Prio[255] FORCEIP[0.0.0.0]
---------------------------------------------------------------------------
EXTERNAL   eth1 ETH   10.10.198.63    255.255.255.0   10.10.198.5     INVALID
  MAC[00:00:00:00:00:00] Bridge[]
  IPSEC=on[ipsec0] RDEV[eth1] Prio[0] FORCEIP[0.0.0.0]
---------------------------------------------------------------------------

内容比较乱了。。。

我想把这些信息分类一下,比如输出成:
地址:X。X。X。X
   掩码:X。X。X。X
   。。。。

想用C语言实现,请高手帮忙,多谢大家
发表于 2005-4-21 15:42:31 | 显示全部楼层
干这种文件处理的活,还是用sed,awk之类的工具更容易一点
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-21 17:55:53 | 显示全部楼层
对呀,你不说我都忘记了!!!
回复 支持 反对

使用道具 举报

发表于 2005-4-21 18:02:45 | 显示全部楼层
lex yacc类的工具也可以帮忙
回复 支持 反对

使用道具 举报

发表于 2005-4-21 18:08:17 | 显示全部楼层
觉得用perl太简单了
($ip, $mask)= $line =~/ETH\s+(\S+)\s+(\S+)/
回复 支持 反对

使用道具 举报

发表于 2005-4-22 09:39:39 | 显示全部楼层
如果用C语言呢?我也想知道用C语言应该怎么解决。
回复 支持 反对

使用道具 举报

发表于 2005-4-22 10:37:20 | 显示全部楼层
比较简单的方法是,用 "正则表达式"
回复 支持 反对

使用道具 举报

发表于 2005-4-22 10:56:02 | 显示全部楼层
Post by Illidan
如果用C语言呢?我也想知道用C语言应该怎么解决。

把 string.h 里的函数扫一遍,实现方法多得很。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表