gsed добавить _single_ новую строку в конце файла - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь создать одиночный символ новой строки в конце файла. Моя команда такая:

gsed -i '$a\\r' outfiles/*.txt

Каким-то образом это создает две новые строки, и я не могу понять, что я делаю неправильно.

Любой мысли?

Ответы [ 2 ]

2 голосов
/ 10 января 2020

В моей первой мысли я бы в последней строке заменил конец строки новой строкой.

sed '$s/$/\n/'

Но моя вторая мысль просто хороша:

sed '$G'

Схватывание с Удерживающее пространство добавляет новую строку к пространству образца, а затем добавляет удерживающее пространство к пространству образца. Поскольку пространство для хранения пусто, оно фактически добавляет только новую строку.

1 голос
/ 10 января 2020

Держите это ясным и простым, просто используйте gawk:

gawk -i inplace 'ENDFILE{print ""}' outfiles/*.txt
...