У меня есть файл, полный субдоменов каждая строка. И я хочу преобразовать эти субдомены в дюйм/с при помощи сценария удара. мой файл:
subdomain1.example.com
subdomain2.example.com
...
и я хочу новый файл, полный дюйм/с их.
Я хочу сделать это с циклом.
for line in $(cat subdomains.txt)
do
.......
done < ip.txt
Что должно это быть в ........
часть?
С синглом awk
команда:
awk '{cmd="host "$0; cmd|getline $0; print $1,$NF;close(cmd)}' infile
Объяснение:
Здесь мы устанавливаем команду оболочки как host $0
и присвойте названной переменной cmd
. Затем с cmd |getline $0
мы называем ту команду Используя getline от Канала который awk
передает строку от входа infile
файл к cmd
, затем распечатайте первые и последние поля (domain& IP). В конце мы должны закрыть команду, которую мы открыли, таким образом, мы использовали close(cmd)
закрыть его.
Вход:
askubuntu.com
stackexchange.com
Результат:
askubuntu.com 11.22.33.44
stackexchange.com 55.66.77.88
for line in $(cat subdomains.txt); do
nslookup $line | grep Address | grep -v "#53" | awk {'print $2'} >> ips.txt
done