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字符串。
区别:
- 通过shell页面颜色, 添加第一行和第三行中$Name和$Age 都是紫色,添加最后一行前和最后一行中是红色
- 添加第一行和第三行中使用的是单引号,添加最后一行前和最后一行中使用的是双引号
但是当我们把 添加最后一行前和最后一行中使用的双引号改为单引号后,$i 和 $a 颜色又变了,且报错
sed: -e expression #1, char 2: unknown command: `▒'
sed: -e expression #1, char 2: unknown command: `▒'
这一问题还未解决