Любой может, вероятно, сказать, что я являюсь новым в сценариях и попытался делать столько же homewaork прежде, чем отправить здесь. Я имею то, что я думаю, простой сценарий, анализирующий файл зоны DNS для IP и уникальных доменных имен. У меня есть результаты, которые я хочу с awk outout, хотя я испытываю затруднения при помещении этого всего в сценарий для вывода ожидаемого форматированного файла для входа в другую систему. вывод печатает только одну строку на поиск.
#/bin/bash
addresses=($(grep '<uniquefield>' <filename> | awk -F'[ .]' '{print $5 "." $4 "." $3 "." $2"/"$1}'))
domains=($(grep -v '<uniquefield>' <filename> | awk '<uniquefield> {print $1}'|awk -F'.' 'sub(FS $(NF-4) FS $(NF-3) FS $(NF-2) FS $(NF-1) FS $NF,"")'))
echo ${addresses[1]}
echo ${domains[2]}
for i in "${addresses[@]}"
do
:
echo $addresses, disable, , , >import.csv
done
for i in "${domains[@]}"
do
:
echo $domains, disable, , , >>import.csv
done
Вы не используете $i
переменная в цикле
for i in "${addresses[@]}"; do
# ..^
echo $addresses, disable, , , >import.csv
# .......^^^ should be: echo $i, ...
done
Для переменной типа массив при печати переменной, не определяя индекс удар, кажется, дает Вам просто первый элемент.
$ x=( one two three )
$ echo $x
one