sed и grep примеры использования.
Покажет домен:ip адрес.
^:[[:blank:]]{2}|^:[[:space:]] — Этим мы убираем строки у которых в начале пробелы.
egrep -r listen /usr/local/etc/nginx/{zerkalo,se,vh,vhb}/ | cut -f7 -d / | egrep -v '^:[[:blank:]]{2}|^:[[:space:]]' | sed -E 's/listen |:(443|80).*//g' | sort -u a.dom.local:1.24.14.8 dom.local:4.2.1.14 test.dom.local:4.3.5.14
Смотрит только домены 2-го уровня.
egrep -r listen /usr/local/etc/nginx/{zerkalo,se,vhb,vh}/ | cut -f7 -d / | sed -E 's/listen |:.*//g' | grep -v '\..*\.' dom.lan doms.local
Смотри только ип адреса у доменов.
egrep -r listen /usr/local/etc/nginx/{zerkalo,se,vhb,vh}/ | cut -f7 -d / | egrep -v ':[[:blank:]]{8}|:[[:space:]]' | sed -E 's/[A-za-z].*:listen |:443.*//g' | sort -u 1.24.14.8 8.2.10.8
Смотрим информацию об ssl у домена.
Есть данные от скрипта, из вывода данных нужно убрать домен не R3.
Domain=dom.lan End=Feb 20 2022 REG= R3 Domain=domes.local End=Jul 6 2022 REG=Sectigo RSA
Строка из буфера по соответствующему шаблону /^Domain/ выполняется группа команд { ;}.
Команда N означает добавление следующей строки к существующей в буфере через разделитель \n.
И значит две команды N;N дадут в буфере 3 строки разделённые символом \n.
Шаблон /\nREG= R3$/ сопоставим к последней строке в буфере, если шаблон совпадает то все три строки удаляются командой.
Команда.
sed '/^Domain/{N;N;};/\nREG= R3$/d'
Используем sed, отображаем блок данных только относящийся к R3.
Domain=dom.lan End=Feb 20 2022 REG= R3
sed '/101/b; s/boss2/2star1/g' file.txt
Меняем boss2 на 2star1 в тех строках в которых нет числа 101.
sed '/^One/s/T800/3brod/g' file.txt
Меняем в тех строках, которые начинаются на One.
sed '/^set=/s:45:0001:' file.txt
Меняем 45 на 0001
sed 's/36/136/g'
Меняем 36 на 136
sed -e 's/Admin11/Root/g' -e 's/saw/bax/g'
Если нам нужно выполнить несколько замен.
sed '/^$\|^#/d'
Убираем пустые строки и комментированные строки.
sed -i '' 's/test/barbados/g' files.txt
Меняем на лету.
sed -i 's/^/listen /;s/$/:80;/' downloads/ip.txt
Добавляем в начало listen и конец каждой строки :80; в файле ip.txt.
sed -i '/SSL/s/^/#/' /etc/apapche/vhosts/vhost.conf
Добавляем символ # в начале строки, если содержит текст SSL.
sed -i '/^[^#].*SSL/s/^/#/' /etc/apapche/vhosts/vhost.conf
Ставим символ # в начало строки, если содержится текст, и он начинающейся не с символа #.
sed -i '/SSL/s/^#\+//' /etc/apapche/vhosts/vhost.conf
Удаляем символ # в начале строки, если в строке содержится слово SSL.
Вот небольшая шпаргалка по sed и grep примеры использования в *nix системах.