sed append

С помощью sed append можно добавлять записи в файлы

Чтобы использовать команду sed append нужна опция 'a'

Общий синтаксис выглядит так:

sed '[range] a string_to_append' file

Перевод

sed ' [диапазон] a добавляемые_символы' файл

range - это область в которой нужно делать замену. Задаётся через условие то есть является указанием шаблона или образца. Всегда должен быть внутри / /

string_to_append - это те символы, которые нужно дописать в файл

file - это имя файла (можно с путём до файла) в котором эта замена будет произведена

Рассмотрим файл sites.txt

cat sites.txt

Авиасейлз Travel
Booking.com Hotels
Hotellook Hotels

Добавим после строки Booking.com Hotels строку: eth1.ru IT

sed '/^B/ a eth1.ru IT' sites.txt

Авиасейлз Travel
Booking.com Hotels
eth1.ru IT
Hotellook Hotels

append не изменяет содержание файла. Выполните снова

cat sites.txt

Авиасейлз Travel
Booking.com Hotels
Hotellook Hotels

Файл не изменился

В той же самой команде замените a на i (insert - вставить)

Авиасейлз Travel
eth1.ru IT
Booking.com Hotels
Hotellook Hotels

Теперь новая строка стала выше чем шаблон. Файл по-прежнему не меняется.

Если вы используете Ubuntu выполните

sed -n 'p' /etc/ntp.conf

И найдите там строки вида #pool 0.ubuntu.pool.ntp.org

Убедиться, что они там есть можно командой

sed -n '/ubuntu/p' /etc/ntp.conf

#pool 0.ubuntu.pool.ntp.org iburst #pool 1.ubuntu.pool.ntp.org iburst #pool 2.ubuntu.pool.ntp.org iburst #pool 3.ubuntu.pool.ntp.org iburst pool ntp.ubuntu.com

Удалить строки вида #pool 0.ubuntu.… можно командой

sed '/^#pool\s[0-9]\.ubuntu/ d' /etc/ntp.conf

Напоминаю, что \s означает один пробел

[0-9] означает одну любую цифру

Добавить текст в конец файла

Чтобы добавить текст TEXT в конец файла file воспользуйтесь командой

sed -i -e '$aTEXT' file

Изначально файл не должен быть пустым

Эта же команда в Make файле будет выглядеть так

.PHONY: addtoend addtoend: @sudo sed -i -e '$$aTEXT' file

Если нужно добавить текст после каждой строки файла выполните

sed -i -e 'aTEXT' file

IT

Популярные статьи на сайте

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@eth1.ru если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Хотите помочь сайту материально
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......