2016-02-27 99 views
0

在bash中,我定义了一个变量n,从这个变量的行号到最后一行的值就是我要删除的行号。如何从可变行号删除行到最后一行?

我试图

sed -i '${n},$d' file 

但错误味精是:

的sed:-e表达式#1,烧焦5:命令

后多余的字符

关于如何正确使用任何想法sed?我怀疑这是因为sed中有两个$,一个是变量,另一个是最后一个行号。

+1

'$ {N}'不会单引号内的扩张。 – FatalError

+0

'sed -i $ n',$ d'文件' – miken32

+0

sed -i“$ {n},$ d”test sed:-e表达式#1,字符2:意外的',' –

回答

1

对于便携性,透明度和安全性,以下是合理的:

sed -i.bak -e "${n},\$d" file