从带有变量的文件中删除前 n 行

tub*_*bos 2 sed shell-script

下面的命令用于删除前 3 行:

sed -i -e 1,3d t.txt
Run Code Online (Sandbox Code Playgroud)

所以我尝试用脚本中的变量替换 3,如下所示

NrLines=$(wc -l t.txt)
sed -i -e 1,"$NrLines{d}" t.txt
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:

sed: -e expression #1, char 13: unexpected `}'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

yae*_*shi 5

似乎命令替换和大括号被误用了。

NrLines=$(wc -l < t.txt)
sed -i -e 1,"${NrLines}d" t.txt
Run Code Online (Sandbox Code Playgroud)