Как получить только домены 2-го уровня из списка субдоменов

Что мне нужно

У меня есть такой список доменов:

a.example.com
b.foo.com
a.b.bar.com

Я хочу, чтобы вывод захватил только домены второго уровня и ничего больше, т.е. не 3-го уровня или выше. Это то, что я ищу в моем списке примеров выше:

example.com
foo.com
bar.com

То, что я пробовал

Я пробовал использовать sed , awk и cut следующим образом:

sed

cat domains.txt | sed 's/\.$//g'
cat domains.txt | sed -r 's/^(.*)_/\1\\/; s/.$//g'  # this removes the last character for some reason

awk

awk '{ sub(/\.$/, ""); print $NF }' domains.txt
cat domains.txt | awk -F\. '{print $1,$2}' | tr ' ' '.' # won't work since there are 4th level domains

cut

cat domains.txt | cut -d '.' -f[field] # won't work since there are 4th level domains
1
задан 1 November 2021 в 17:27

0 ответов

Другие вопросы по тегам:

Похожие вопросы: