sed -e
Введение | |
Пример | |
Другие статьи о sed |
Введение
Что нам говорит мануал по sed
man sed
-e script, --expression=script add the script to the commands to be executed
На практике это означает, что можно выполнить несколько разных действий. То есть
какой-то скрипт, а не просто одну команду.
Например
sed -e 's/string1/string2/g' -e 's/string4/string5/g'
Заменит сначала string1 на string2 а потом string4 на string5
Пример
Рассмотрим файл sites.txt
less sites.txt
AndreyOlegovich.ru IT
Авиасейлз Travel
Booking.com Hotels
Hotellook Hotels
TopBicycle.ru Bicycles
Велодрайв Bicycles
HeiHei.ru Travel
Xiaomi Android
Samsung Android
Book24 Books
GeekBrains Education
Нетология Education
TurboVPN VPN
Pluralsight Education
СовКомСтрахование Insurance
Полис 812 Insurance
Полис 812 Insurance
Vivo Android
Reg.ru Hosting
OLDI Laptops
…
Предположим, что нужно сделать новый список сайтов
new.txt
только вместо Bicycles записать Bikes, а сайты по страхованию вообще не нужны
Выполнить сразу две команды поможет флаг -e
sed -e 's/Bicycles/Bikes/' -e '/Insurance/d' sites.txt > new.txt
cat new.txt
AndreyOlegovich.ru IT
Авиасейлз Travel
Booking.com Hotels
Hotellook Hotels
TopBicycle.ru Bikes
Велодрайв Bikes
HeiHei.ru Travel
Xiaomi Android
Samsung Android
Book24 Books
GeekBrains Education
Нетология Education
TurboVPN VPN
Pluralsight Education
Vivo Android
Reg.ru Hosting
OLDI Laptops
…
Удалить всё что между скобками
Включая сами скобки можно выполнив
sed -i -e 's/\[[^][]*\]//g' sample.txt