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

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

Файл:

AAAAAA              21,28,22-23,35,24-27,29-30,37,31-34,36,54,38-45,47,46,48-53,
AAAAAA              71,55-70,72-78,80,79,81-93,96,94-95,97-98,100,99,101-103,
AAAAAA              122,104-114,118,115-117,119-121,123-124,140,125-130,148,
AAAAAA              1649-1650,1652-1667,1669-1853

Желаемый выход

AAAAAA              21,28,22-23,35,24-27,29-30,37,31-34,36,54,38-45,47,46,48-53,
AAAAAA              71,55-70,72-78,80,79,81-93,96,94-95,97-98,100,99,101-103,
AAAAAA              122,104-114,118,115-117,119-121,123-124,140,125-130,148,
AAAAAA              1649-1650,1652-1667,1669-1853**.**

Мой код:

sed '$d' file > tmp1
tail -1 file > tmp2
sed -i 's/$/./' tmp2

cat tmp1 tmp2 > output

Я получил желаемый результат с кодом выше.
Есть ли более эффективный способ решения этой проблемы?

Ответы [ 2 ]

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

Вы можете использовать echo, это будет работать, только если ваша последняя строка еще не содержит возврат каретки

echo -n "." >> file
0 голосов
/ 15 мая 2018

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

sed '$s/$/./'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...