unix - 无法在 unix 中使用 sed 进行匹配和替换
问题描述
我有一个名为的文件params.txt
,文件中的内容将是
%test(dir='/home/spread',src=tab1,tgt=tab1,sch=xyz);
我需要一个 shell 脚本,我将在调用脚本时传递这 4 个参数。文件params.txt
必须用我通过的任何内容进行更新。例如,
params.sh '/tmp/category' emp emp hr
更换前:
%test(dir='/home/spread',src=tab1,tgt=tab1,sch=xyz);
更换后:
%test(dir='/tmp/category',src=emp,tgt=emp,sch=hr);
我将多次调用脚本,并且需要使用执行脚本时传递的任何内容来更新参数。
解决方案
听起来你只是在寻找
#!/bin/sh
printf "%%test(dir='%s',src=%s,tgt=%s,sch=%s);\n" "$@" >params.txt
推荐阅读
- django - for循环在django的单元测试中不起作用?
- svg - SVG图像问题
- javascript - 使用 Yup 和 Formik 进行条件验证
- javascript - java脚本中的变量无效或意外标记
- angular - 如何在包装类中继承打字稿类型
- javascript - 如何在 forEach 中一个一个地运行 Promise
- python - Python:在数据框上应用正则表达式,以日期时间为列
- tfs - 从 TFS Build 执行第一次测试后 vstest.console.exe 卡住
- python - Django:运行迁移命令显示“SECRET_KEY 设置不能为空”错误
- javascript - 在javascript中对数组项进行分页