Добавить текст в последнюю строку файла в Unix - PullRequest
0 голосов
/ 09 мая 2018

Я хочу добавить символ двоеточия (:) в конце последней строки текстового файла (не в новой строке).

  • Мой файл уже имеет символ \ n в конце, поэтому printf ":" >> file помещает двоеточие в новую строку.
  • Использование sed '$s/$/:/' file > newfile работает, но у меня размер файла ~ 100 МБ, поэтому все, что нужно для добавления одного символа, кажется непривлекательным.

Есть ли лучшее решение?

1 Ответ

0 голосов
/ 09 мая 2018

Вы можете использовать dd и notrunc (протестировано в Linux 4.12):

printf ":" | dd of=file conv=notrunc bs=1 seek=$(( $(stat -c "%s" file) - 1))
...