Согласно Краткому руководству , отредактируйте параметр interface
в $PREFIX/etc/node.cfg
. Полный список опций, которые вы можете изменить в этом файле, можно найти в документации плагина Node
.
#sed -r -n 's/^([^@]+@)(.+)\.([a-z]{2,3})[\r\n\t ]{0,}$/\3.\2 \1\2.\3/gip' <<< "email: petebll@josephay905s.changeip.com"
или
#sed -r -n 's/^([^@]+@)(.+)\.([a-z]{2,3})[\r\n\t ]{0,}$/\3.\2 \1\2.\3/gip' ./your file
upd :ИСПРАВЛЕНО ДЛЯ ПОДДЕРЖКИ ТРЕТЬЕГО ДОМЕНА
sed -r -n 's/^([^@]+@)([^\.]+)(\.[^\.]+){0,1}\.([a-z]{2,3})[\r\n\t ]{0,}$/\4\3.\2 \1\2\3.\4/gip' <<< "email: vgnerov@yandex.ru"
result: ru.yandex email: vgnerov@yandex.ru
и
sed -r -n 's/^([^@]+@)([^\.]+)(\.[^\.]+){0,1}\.([a-z]{2,3})[\r\n\t ]{0,}$/\4\3.\2 \1\2\3.\4/gip' <<< "email: petebll@josephay905s.changeip.com"
result: com.changeip.josephay905s email: petebll@josephay905s.changeip.com
Спасибо за комментарий @TERDON
Вы можете сделать этот perl, если настаиваете на том, чтобы сделать это одной строкой. По сути, флаг -F такой же, как и в awk, поэтому он разбивает каждую строку на символ @
. Первая часть одной строки создает переменную с именем $s
, которая имеет обратную часть домена. Вторая часть одной строки выводит перевернутый домен, за которым следует исходный ввод, который хранится в переменной $_
.
perl -F'@ ' -lane '$s = join ".", reverse split/\./, $F[-1]; print "$s $_"'
Я прямо ответил на ваше требование: «сначала сортировать по домену », а не просто создавать дополнительный столбец в начале каждой строки, готовый к построчной сортировке:
sort -t@ -k2,3 -k1,2 file
Вывод для «большего набора данных»
email: post@b-monitor.ru
email: noelmrunyon@gmail.com
email: o9yp7@gmail.com
email: p.ri.me.grani.t2.01.9@gmail.com
email: philip@hugosinbox.xyz
email: petebll@josephay905s.changeip.com
email: pavelsib@meta.ua
email: p3ost51@moail.ru
email: nataliyarezvaya@rambler.ru
email: natalyasoborova1975@rambler.ru
email: novikova33novickova@yandex.ru
email: ontorsckyvladislav@yandex.ru
email: pedrika@yandex.ru
email: pjkraik@zfilm6.ru
Чтобы учесть измененное требование в вашем комментарии, где вы хотите, чтобы компоненты домена были сгруппированы вместе от «наиболее значимых» до «наименее значимых», попробуйте вместо этого
rev file | sort | rev
Пересмотренный вывод для «большего набора данных»
email: pavelsib@meta.ua
email: o9yp7@gmail.com
email: p.ri.me.grani.t2.01.9@gmail.com
email: noelmrunyon@gmail.com
email: petebll@josephay905s.changeip.com
email: pjkraik@zfilm6.ru
email: p3ost51@moail.ru
email: natalyasoborova1975@rambler.ru
email: nataliyarezvaya@rambler.ru
email: post@b-monitor.ru
email: pedrika@yandex.ru
email: novikova33novickova@yandex.ru
email: ontorsckyvladislav@yandex.ru
email: philip@hugosinbox.xyz
Если вы готовы использовать Python, код будет более читабельным:
Питон 2:
import sys
from string import split
for line in sys.stdin:
line = line.rstrip()
rev_domain = '.'.join(split(split(line, '@')[1], '.')[::-1])
print rev_domain, line
Питон 3:
import sys
for line in sys.stdin:
line = line.rstrip()
rev_domain = '.'.join(line.split('@')[1].split('.')[::-1])
print(rev_domain, line)