linux的sed插入新行的问题

在sh中str="thisistest";sed-i"30a\\t$str"/home/t.conf;这样会在行前面多一个t,而且没有tab距离请问怎么才增加多个tab,... 在sh中
str="this is test";
sed -i "30a \\t $str" /home/t.conf;
这样会在行前面多一个t,而且没有tab距离
请问怎么才增加多个tab,还可用上面的变量 $str
展开
 我来答
百度网友5311d79
推荐于2016-04-02 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3220万
展开全部
str="this is test"
sed -i '30a\\t'"$str" /home/t.conf

sed作用域用单引号

shell变量要拿到sed作用域外面(即单引号外面)来才能被shell解析。

字符串变量两边加双引号。

eexpress
2014-11-17 · TA获得超过884个赞
知道大有可为答主
回答量:1493
采纳率:100%
帮助的人:773万
展开全部
你用单引号包括,才好使用\\t
追问
单引号的话,我的变量怎么用呢
追答
没注意到你使用了变量。
变量可以使用'"$str"'包裹。

▶ y="tt";echo "this is test"|sed '1a\\t '"$y"''
this is test
tt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式