Как правило, текстовые инструменты Unix более счастливы, если у вас do есть новая строка в конце последней строки в файле.Зачем вам нужно это удалять?
Вы не можете сделать это (насколько я знаю) с помощью awk
, но это просто с perl
:
perl -e 'undef $/; $_ = <>; s/\R\z//; print'
РЕДАКТИРОВАТЬ: Спустя годы мне пришло в голову, что вы, возможно, имели в виду "как удалить завершающие пустые строки из конца файла";другими словами, вы, возможно, хотели сократить два или более последовательных символов новой строки до одного, только в конце файла.Опять же, это проще всего сделать с perl
:
perl -e 'undef $/; $_ = <>; s/\s+\z/\n/; print'
(Это будет zorch произвольный конечный пробел символов, а не только перевод строки. Это почти наверняка то, что вы хотите.)