regex - 使用正则表达式在 Bash 中的引号内添加参数
问题描述
我有一个以这种格式存储在文件中的字符串:
VAR_NAME="Param1=p1 Param2=p2"
我需要编写一个正则表达式,它允许我在引号之间的变量中添加参数,即;
VAR_NAME="Param1=p1 Param2=p2 Param3=P3"
我创建了一个似乎对我有用的 RegEx ,但是,我不确定如何在我的 bash 脚本中实现它。
如何编辑上述字符串以在 Bash 脚本中的引号之间添加参数?
解决方案
您可以使用sed
:
text='VAR_NAME="Param1=p1 Param2=p2"'
sed 's,VAR_NAME="\([^"]*\)",GRUB_CMDLINE_LINUX="\1 Param3=p3",' <<< "$text"
# => GRUB_CMDLINE_LINUX="Param1=p1 Param2=p2 Param3=p3"
# Or, assign the result to a variable:
result="$(sed 's,VAR_NAME="\([^"]*\)",GRUB_CMDLINE_LINUX="\1 Param3=p3",' <<< "$text")"
echo "$result"
# => GRUB_CMDLINE_LINUX="Param1=p1 Param2=p2 Param3=p3"
查看在线演示
推荐阅读
- jquery - 如何从公共站点报告部分获取 .xml/.csv 报告
- javascript - 使用带有表单的反应 HOC。使用 HOC 传递通用 JSX 和状态
- stanford-nlp - 如何“调试”StanfordNLP 文本分类器
- python-3.x - 使用 networkx.union() 时,从 networkx.Graph 继承的类失败
- python - python NameError中的gremlin无法识别函数
- vb.net - 如果条件被忽略
- java - AWS S3 Java SDK没有将文件复制到文件夹
- excel - 如何删除目录内所有csv文件中的数字列
- python - 为什么我在 curl 中使用回调进度时文件下载工作缓慢?
- xquery - 在 MarkLogic 的同一事务中插入文档并读取它