Подсчет AWK назад

У меня есть список доменов, подобранных и переданных по каналу в через grep с различной длиной, но всем соответствием последние три записи. Я пытаюсь произвести все неквалифицированные субдомены.

Я имею:

awk -F'.' -v OFS='.' '{$(NF-3)=$(NF-2)=$(NF-1)=""; print $0}' 

мои выходные листы, запаздывающие...... на выводе

Спасибо

0
задан 9 October 2014 в 03:05

2 ответа

Попытайтесь заменить ими:

$ awk -F'.' 'sub(FS $(NF-2) FS $(NF-1) FS $NF,"")' <<<"www.cse.iitb.ac.in"
www.cse

я не уверен, почему это работает, и Ваш метод не делает, но согласно этому unix.com сообщение, это - путь.

0
ответ дан 7 October 2019 в 00:01

Когда вывод создания, awk повинуется текущему значению NF. Если Вы хотите устранить последние три поля, просто уменьшите NF три, такой как через NF-=3:

awk -F. -v OFS=. '{NF-=3; print $0}'

Используя это с Вашим демонстрационным входом:

$ echo $'site.subdomain.xyz.com\nsite.sub.subdomain.xyz.com' | awk -F. -v OFS=. '{NF-=3; print $0}'
site
site.sub

Кстати, период, ., не активный против оболочки символ. Так, этому не нужно заключение в кавычки.

2
ответ дан 6 October 2019 в 14:01

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

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