Удалите первые n строк из файла с переменной

Приведенная ниже команда работает для удаления первых трех строк:

sed -i -e 1,3d t.txt 

Поэтому я попытался подставить 3 с переменной в скрипте, как показано ниже

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

и получить следующую ошибку:

 sed: -e expression #1, char 13: unexpected `}' 

Что я делаю не так?

Кажется, что замена команд и скобки используются неправильно.

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

Другой способ сделать это с помощью tail (это не оптимально для больших файлов):

 NrLines=3 <<< "$(< t.txt)" tail -n +$((NrLines+1)) > t.txt