2016-02-27 4 views
0

В bash я определил переменную n, из которой значение номера строки до последней строки - это то, что я собираюсь удалить.Как удалить строки из номера переменной строки в последнюю строку?

Я попытался

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

но тзд ошибка:

СЭД: -e выражение # 1, символ 5: лишние символы после команды

Любые мысли о том, как исправить использование из sed? Я подозреваю, что это из-за двух $ в sed, один для переменной, другой для последнего номера строки.

+1

'$ {п}' не будет расширена в одинарные кавычки. – FatalError

+0

'sed -i $ n ', $ d' file' – miken32

+0

sed -i" $ {n}, $ d "test sed: -e выражение # 1, char 2: неожиданный', ' –

ответ

1

Для переносимости, ясности и безопасности, следующее было бы разумно:

sed -i.bak -e "${n},\$d" file 
Смежные вопросы