在线求sed脚本

杨六 2012-02-27 11:15:11
通过脚本,想把文件中的某一个变量的值换成传进来的参数,发现脚本$1变成了字符串,不知道怎样处理可以获取输入的参数,

cat /opt/sysinfo.ini | sed '/country_code_lock=.*/ s/country_code_lock=.*/country_code_lock=$1/g' > /tmp/static_temp

在sed命令中,怎样将传进来的参数替换以前的值,求解了!
...全文
68 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linux-Torvalds 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangwu070710 的回复:]

引用 2 楼 linwhwylb 的回复:
sed的命令行用双引号括住,然后里面$variable即可。
请问具体的命令是什么呢?不知道怎样正确标识
[/Quote]首先你在当前的shell环境当中有对某个变量赋值。比如var=test1
然后就可以在sed命令当中引用了。
$ var=test1
$ echo |sed "s/.*/$var/"
test1
杨六 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 linwhwylb 的回复:]
sed的命令行用双引号括住,然后里面$variable即可。
[/Quote]请问具体的命令是什么呢?不知道怎样正确标识
Linux-Torvalds 2012-02-27
  • 打赏
  • 举报
回复
sed的命令行用双引号括住,然后里面$variable即可。
justkk 2012-02-27
  • 打赏
  • 举报
回复
sed 的模式用双引号
lylm 2012-02-27
  • 打赏
  • 举报
回复
双引号中的变量可以被解析,单引号里面不解析,也就是字符串
justkk 2012-02-27
  • 打赏
  • 举报
回复
cat /opt/sysinfo.ini | sed '/country_code_lock=.*/ s/country_code_lock=.*/country_code_lock=$1/g' > /tmp/static_temp
单引号换成双引号
cat /opt/sysinfo.ini | sed "/country_code_lock=.*/ s/country_code_lock=.*/country_code_lock=$1/g" > /tmp/static_temp

23,128

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧