Sed + удалить строку только в последней строке файла

Я использую следующую команду sed, чтобы удалить строку line number из файла

sed -i s'/line number//g' file

но мне нужно изменить синтаксис sed, чтобы удалить line number только если он существует в последней строке файла?

Ответы

Ответ 1

Я не уверен, что полностью понимаю ваш вопрос, но это может вам помочь:

sed -i '$ s/line number//g' file

Это будет выполнять подстановку только в последней строке (из-за $), заменив line number на ничего.

man sed, раздел Адреса может помочь вам понять, как применять sed-команды для части текста.

Ответ 2

Для тех, кто находится на SunOS, который не является GNU, следующий код поможет:

sed '$d' tmp.dat > test.dat