从文件获取字符串

从文件获取字符串

尝试编写一个脚本来从 puppet 文件中获取字符串。file.pp 中有这样的几行

$get_modules           = ['string_agent1',
                      'string',
                      'string_agent2',
                      'string-agent3']

如何从文件中获取不带引号的值?之后,检查是否存在名称为string_agent1、字符串、string_agent2、string_agent3

尝试这样做

tr -d [:space:] < file.pp | sed -n 's:.*get_modules=\[\(.*\)]\#.*:\1:p'

但输出如下

'string_agent1','string','string_agent2','string_agent3'

但需要得到像下面这样

string_agent1
string
string_agent2
string_agent3

答案1

但输出如下

'string_agent1','string','string_agent2','string_agent3' 

但需要得到像下面这样

string_agent1
string
string_agent2
string_agent3

由于您已经熟悉tr,您可以将最终结果传输到tr并像这样使用它:

tr -s \', '\n'

这将用换行符替换每个出现的'和,并将序列中出现的多个换行符压缩为仅一个换行符。,-s

相关内容