sed命令删除可变行数

Sye*_*oez 2 shell sed

要从文本文件中删除前 10 行,请使用以下命令:

sed -i -e "1,10d" filename
Run Code Online (Sandbox Code Playgroud)

如果我想删除 n 行,其中 n 是一个变量怎么办。即我正在使用以下但出现错误,请纠正我。

n=10

sed -i -e "1,$n{d}" filename
Run Code Online (Sandbox Code Playgroud)

Spa*_*awk 5

您的变量语法错误。一个变量被取消引用为${n}。因此,尝试

sed -i -e "1,${n}d" filename
Run Code Online (Sandbox Code Playgroud)

  • 然而,赛义德的命令*应该*有效。这个对我有用。我想知道出了什么问题。 (2认同)