在我的bash中,我希望删除从1到$ {number}的行,如下所示:
number=10
sed '1,${number}d' myfile
语法错误失败。 我也试过“\ $ {number}”,“$ number”,neithers的作品
我改为双引号,它在命令行下工作,但不在bash脚本文件中。如何使它工作?
答案 0 :(得分:2)
将 sed 表达式用双引号括起来插入变量number
:
sed "1,${number}d" file
答案 1 :(得分:2)
以这种方式运行sed时请使用双引号而不是单引号。 请阅读Difference between single and double quotes
答案 2 :(得分:1)
我改为双引号,它在命令行下工作,但不在内部 bash脚本文件
假设你的bash脚本是:
sed "1,${number}d" myfile
你应该在bash提示符中导出number
变量,以便在运行时可以在bash脚本中看到它:
export number=10