【发布时间】:2017-10-06 16:11:41
【问题描述】:
我有多个文本文件,其中定义了参数。参数将采用 {{env.parameter_name}} 的形式。我需要使用 bash 脚本来跟踪它们。
- 查找文件中的所有参数。
- 打印参数名称。
最好的方法是什么?
我的输入文件如下所示
<?xml version="1.0" encoding="UTF-8"?>
<config>
<host value="{{env.host}}" />
<port value="{{env.port}}" />
</config>
我希望我的输出是这样的
{{env.host}}
{{env.port}}
【问题讨论】:
-
最好使用
egrep命令与正则表达式类似egrep "{{env\..*?}}" fileName.txt -
@SMA egrep 不知道非贪婪匹配,这是一个 PCRE 构造。
-
使用正确的
XML解析器代替Awk或sed等文本处理工具,你能安装xmllint吗? -
如果您的字符串
{{...}}可以在 1 行出现两次,则将其包含在您的示例中,因为它需要与仅出现一次不同的解决方案。如果{{或}}可以在其他上下文中出现,则同上。