sed的使用

1 用 sed 将 / 改为 -

1、脚本

#!/bin/sh

branch_name=dev23/4/23
echo "ORIG branch_name=$branch_name"

#把branch_name中的 / 改为 -
branch_name=`echo $branch_name | sed -e 's/\//-/g'`
echo "NOW branch_name=$branch_name"

2、结果

./Test_sed.sh
ORIG branch_name=dev23/4/23
NOW branch_name=dev23-4-23

2 在文件指定行添加内容

1、要添加内容的文件
Result.sh

The first line.
The second line.
The third line.
The fourth line.
The last line.

2、脚本
Test_sed.sh

#!/bin/sh
Name=orange
Age=30
Result_file=./Result.sh
echo "Name:$Name,Age:$Age"

sed -i "1i 在第一行前添加 Name:$Name,Age:$Age" $Result_file           #√
sed -i "3i 在第三行前添加 Name:$Name,Age:$Age" $Result_file           #√
sed -i '$i 在最后一行前添加 Name:$Name,Age:$Age' $Result_file         #?
sed -i '$a 在最后一行后添加 Name:$Name,Age:$Age' $Result_file         #?

3、执行结果

在第一行前添加 Name:orange,Age:30
The first line.
在第三行前添加 Name:orange,Age:30
The second line.
The third line.
The fourth line.
在最后一行前添加 Name:$Name,Age:$Age
The last line.
在最后一行后添加 Name:$Name,Age:$Age

4、问题 (未解决)

从结果中发现第一行第三行都成功添加了变量名和变量值,
但是在最后一行前和最后一行后,却显示添加了$Name和$Age字符串。

在这里插入图片描述
区别:

  1. 通过shell页面颜色, 添加第一行和第三行中$Name和$Age 都是紫色,添加最后一行前和最后一行中是红色
  2. 添加第一行和第三行中使用的是单引号,添加最后一行前和最后一行中使用的是双引号

但是当我们把 添加最后一行前和最后一行中使用的双引号改为单引号后,$i 和 $a 颜色又变了,且报错

sed: -e expression #1, char 2: unknown command: `▒'
sed: -e expression #1, char 2: unknown command: `▒'

这一问题还未解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值