删除给定范围之间的行

时间:2017-03-27 14:32:05

标签: variables sed numbers line

我想删除在(NR == 1和某个行号)范围内给出的行,该行在sed中被指定为变量。 例如,我想删除1到$ ln的行号。这里ln指的是变量名。 这就是我所做的。但事实并非如此。我非常感谢你的帮助。

cat $FILENAME | awk ' /TotEng/{ln =FNR}END {print ln}
echo $ln
sed -e '1,{$ln}d' $FILENAME

如何修改该脚本以删除(1和$ ln)之间的行?

1 个答案:

答案 0 :(得分:2)

  

删除(NR == 1和某一行)范围内给出的行   数)

您可以使用单个sed命令来实现它:

sed '1,/TotEng/d' $FILENAME
  

1,/ regexp / 表单将匹配其范围的开头,因此使范围跨越到常规的第二次出现   表达