sed + удалить строку только в последней строке файла - PullRequest
17 голосов
/ 26 августа 2010

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

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

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

Ответы [ 2 ]

29 голосов
/ 26 августа 2010

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

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

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

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

1 голос
/ 19 февраля 2013

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

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