LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1058|回复: 3

SED(带-E参数)变量传递问题。未解决...

[复制链接]
发表于 2006-7-21 17:30:13 | 显示全部楼层 |阅读模式
SED(带-E参数)变量传递问题。未解决...
假设有2个变量
AAA=...
BBB=...
如果在文件111.txt第3行后插入9999999999999999内容,可用如下命令
cat 111.txt |sed -e '3i\' -e '99999999999999999999'
现在我想用2个变量替换,试了几种写法都不行,请高手看看...
cat 111.txt |sed -e '"$AAA"i\' -e '"$BBB"'
cat 111.txt |sed -e '${AAA}i\' -e '${BBB}'都不行.
SED(带-E参数)的变量不是这样表示吗? 看过新手问答好像没有提到
发表于 2006-7-21 17:36:07 | 显示全部楼层
  1. $ aaa=3
  2. $ bbb=9999999999999999
  3. $ sed -e $aaa'i \'$bbb 111.txt | less
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-21 19:24:41 | 显示全部楼层
我试过了,OK!
如果bbb参数中间有空格,如bbb=999999 8888888 77777777
这样插入文本报错。sed把999999 8888888 77777777 作为3个文件了?
sed: can't read 999999: No such file or directory
怎样使bbb(999999 8888888 77777777)作为1个整体插入到某行呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-21 19:51:22 | 显示全部楼层
已经解决.
sed -e $aaa'i \'"$bbb" 111.txt
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表