免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4001 | 回复: 5
打印 上一主题 下一主题

sed的多个变量替换 [复制链接]

论坛徽章:
1
2015年亚洲杯之巴勒斯坦
日期:2015-03-12 11:11:33
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-18 15:50 |只看该作者 |倒序浏览
  1. $IP
  2. $DOMAIN
  3. $SEND
  4. $TO
复制代码
如上,一个文件里有多个变量,
  1. IP=999.999.999.999
  2. DOMAIN=test.com
  3. SEND=1000
  4. TO=a@test.com
复制代码
如果实现一次性替换呢,sed  or awk?

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
2 [报告]
发表于 2012-06-18 18:00 |只看该作者
  1. sed -e 's/\$IP/IP=999.999.999.999/' -e 's/\$DOMAIN/DOMAIN=test.com/' -e 's/\$SEND/SEND=1000/' -e 's/\$TO/TO=a@test.com/' urfile
复制代码

论坛徽章:
0
3 [报告]
发表于 2012-06-19 11:52 |只看该作者
awk -v ip=$IP -v domain=$DOMAIN -v send=$SNED -v to=TO '{print ip,domain,send,to}'

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
4 [报告]
发表于 2012-06-19 13:24 |只看该作者
回复 1# r12340031


    直接用eval也可以

论坛徽章:
0
5 [报告]
发表于 2012-06-23 19:55 |只看该作者
我一般这样用:
sed -e 's/$IP/IP=999.999.999.999/' -e 's/$DOMAIN/DOMAIN=test.com/' -e 's/$SEND/SEND=1000/' -e 's/$TO/TO=a@test.com/' urfile

Shell_HAT 发表于 2012-06-18 18:00

请问您什么还要在$IP前面加\转义啊? 单引号里面不存在特殊字符啊?

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
6 [报告]
发表于 2012-06-24 09:27 |只看该作者
本帖最后由 winway1988 于 2012-06-24 09:39 编辑
  1. [winway@winway test]$ cat config
  2. IP=999.999.999.999
  3. DOMAIN=test.com
  4. SEND=1000
  5. TO=a@test.com
  6. [winway@winway test]$ cat urfile
  7. $IP
  8. $DOMAIN
  9. $SEND
  10. $TO
  11. [winway@winway test]$ awk -F"=" 'NR==FNR{a["\\$"$1]=$0;next}{s=$0;for(i in a){gsub(i,a[i],s)};print s}' config urfile
  12. IP=999.999.999.999
  13. DOMAIN=test.com
  14. SEND=1000
  15. TO=a@test.com
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP