Я использую следующий жемчуг одна строка для добавления WORD в конце последней строки в файле
perl -p -i -e 's/$/WORD/;' file
Но это, добавляют WORD в каждой строке-
Как зафиксировать синтаксис жемчуга для добавления WORD только на последней строке в файле
пример
more file
AAAAA BBB
WWWWW
EEEEE WORD
Необходимо обнаружить '' ve удар конца файла с помощью eof:
perl -p -i -e 'eof && s/$/WORD/;' file
Просто добавьте -0
флаг:
perl -0pie 's/$/WORD/' file
Я никогда не использовал бы -i
без добавленного расширения между прочим. Если Ваш Perl не сделает то, что Вы предназначили, то Ваш вход будет потерян. Между прочим, ;
не разделитель оператора в Perl, а разделитель операторов.
perl -i.orig -0pe 's/$/WORD/' file
Другая удобная идиома, для тестирования:
perl -0pe 's/$/WORD/' file | diff file -
Вот эквивалентное использование sed
:
sed -ie '$s/$/WORD/' file