Linux中怎么利用awk解析ini文件
这期内容当中小编将会给大家带来有关Linux中怎么利用awk解析ini文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
在寿光等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站设计 网站设计制作按需定制,公司网站建设,企业网站建设,品牌网站设计,营销型网站,外贸网站建设,寿光网站建设费用合理。
1 ini文件
ini文件是一些软件用来保存配置信息的文本文件。ini文件的优点是简单和灵活,缺点是没有统一的标准。
下面来看一个ini文件内容示例::
[Master] Arguments = -log master.log LogLevel = 3 [Client] Arguments = -log client.log LogLevel = 1
从这里可以看到,ini文件的内容可以根据[Master]、[Client]分为不同的部分,每个部分包含了一组键值对。我们可以对ini文件进行简单的建模:
ini文件是一个文本文件,由一组域组成。
域由域名字和一系列键值对组成。域名字和每个键值对,分别占一行。
域名所在行的格式为“[域名字]”。
域中键值对所在行的格式为“键=值”。
基于这个模型就可以对ini文件进行解析。
2 awk程序
下面的程序遍历ini文件的每一行,将读取到的键值对以 “export scope_name=value”
的格式输出。
# ini2env.awk function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s } function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s } function trim(s) { return rtrim(ltrim(s)); } BEGIN{scope="";} { if ($1 ~ /\[.*\]/) scope=trim(substr($1,2,length($1)-2)); else { name=trim($1) value=$2; if (length(value) > 0) { printf("export %s_%s=\"%s\"\n", scope, name, value); } } }
3 使用示例
# ini 文件 [app] arguments= --debug
# 将ini文件转换为临时的shell脚本。 tmpfile=`mktemp' cat app.ini | awk -F '=' -f ini2env.awk >> $tmpfile # 加载sh脚本,设置环境变量。 source $tmpfile # 删除临时脚本。 rm $tmpfile # 启动程序,将ini参数传入。 app=./a.out $app $app_arguments
上述就是小编为大家分享的Linux中怎么利用awk解析ini文件了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
网站标题:Linux中怎么利用awk解析ini文件
转载来源:http://azwzsj.com/article/pocgdj.html