LinuxSir.cn,穿越时空的Linuxsir!

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

请教:读取配置文件??

[复制链接]
发表于 2008-8-10 10:34:38 | 显示全部楼层 |阅读模式
大家好,初学shell,好多不懂,有如下问题请教大家:

我有如下的配置文件
############################################
#                      config file
############################################

# name
name1=myname

# var
var1=var

#cmd
cmd= mkdir tmp1
          cd tmp1
          ./configure --prefix=/usr \
          --includedir=xxx
          --enable=xx
          make && \
          make install
#req
req= x1,x2

现在我要把配置文件的配置项读取出来,单行的sed命令很好实现,但是中间的cmd这样的就不好处理了,cmd里是一组命令,其他脚本要运行这个,用sed -n '/cmd=/' config匹配到后获取行号,然后sed -n 'np' 打印此行,然后再逐行的话感觉太傻,有没有比较好的办法呢,而且中间还要面对续行号"\"和注释,linux下有没有专门用来处理配置文件的命令呢?

谢谢!
发表于 2008-9-25 14:00:32 | 显示全部楼层
光用sed来做是有点麻烦. 对多行的处理还是显得有些笨拙. 但还是可以做的. 我给个比较雷人的吧.
  1. sed -n '/^#\|^$/d;H;/^[a-zA-Z0-9_]*=/!{g;s/\n\([^\n]*\)$/ ;\1/;s/\\ ;//g;h;d};${g;p}'
复制代码
主要思路就是将多行变一行, 这样你再处理起来就方便了. 如果你会一些shell的编程, 那么写个小程序搞定也行.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-27 00:01:46 | 显示全部楼层
谢谢,前段时间linux sir断网,自己写了用笨办法实现的,后面由于配置文件又更复杂,所以采用笨办法反倒有用了,多行变一行,的确很好的办法,改天有空改写下。谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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