小编Pan*_*han的帖子

sed 不是从 sh 文件工作,而是从命令行工作

sed从命令行工作,但如果把它放在一个sh文件中并执行它就不起作用。我想更改现有文件中的数字并将其定向到新文件,因此我尝试了以下操作:

echo enter number 
read num
var1='more ods2.sql | egrep -e "test" | cut -c 5-7' 
sed "s/test$var1/test$num/g" ods2.sql > odstest.sql
Run Code Online (Sandbox Code Playgroud)

如果我在提示中执行这些语句,它们会以所需的结果执行。我用$var1我传递的字符串替换了,例如12345

sed "s/test$var1/test$num/g" ods2.sql > odstest.sql
Run Code Online (Sandbox Code Playgroud)

这也可以从提示中正常工作:

more ods2.sql | egrep -e "test" | cut -c 5-7'
Run Code Online (Sandbox Code Playgroud)

如果我把它放在一个 shell 脚本中,为什么它不起作用?

sed

3
推荐指数
1
解决办法
2157
查看次数

标签 统计

sed ×1