![从文件获取字符串](https://linux22.com/image/1022639/%E4%BB%8E%E6%96%87%E4%BB%B6%E8%8E%B7%E5%8F%96%E5%AD%97%E7%AC%A6%E4%B8%B2.png)
尝试编写一个脚本来从 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