Вы должны убедить awk
в том, что поля изменились, чтобы принудительно переформатировать их с помощью OFS
. Если сделать замену всего $0
как в вашем случае, то awk
не видит необходимости разбивать его на части и переформатировать обратно.
Вы можете сделать что-то подобное, чтобы он признал, что все изменилось:
awk -F'[,/]' '{sub(/\/[0-9]+/, "/" ($2+3) ); $1=$1; print $0}'
$1=$1
делает свое дело:)
Обратите внимание, что sub()
не изменяет $2
-, а сканирует и изменяет $0
и обновляет его значением $2+3
. Но он не обновляет $2
, он обновляет $0
, следовательно, он не запускает переформатирование.
Есть несколько очевидных проблем с вашими файлами зон:
Вы никогда не должны использовать домены, которые вам не принадлежат, даже для примеров и заданий. Их может не быть сейчас, но они могут появиться в будущем.
Используйте example.org
, example.com
, example.net
для примеров, домашних заданий и т. д. Эти домены гарантированно никогда никому не будут выделены и безопасны для использования кем угодно. Они существуют именно для этой цели.
Между 30
и d
в строке $TTL
не должно быть пробела.
в mcduckcorp.db
вы сначала определяете www.mcduckcorp.duckburg.cali
. в виде записи A с IP-адресом 192.168.1.10.
Позже вы определите его как CNAME, указывающий на squirrel.mcduckcorp.duckburg.cali
. Это не может работать.
CNAME определяет псевдоним, указывающий на другое доменное имя. Запись выглядит так:
alias-name IN CNAME canonical-name
Псевдоним -имя не может иметь никаких других записей данных, ни A
, ни MX
, ни NS
ни что-либо еще -это просто псевдоним, указывающий куда-то еще (на канонический -] имя ). Иными словами, псевдоним «наследует» все данные имени, на которое он указывает, и не может его каким-либо образом (модифицировать никакими добавлениями, удалениями или правками ).
Ваше задание требует, чтобы вы показали примеры записей A и записей CNAME. Попробуйте создать запись A для самого домена, а затем сделать www
псевдоним, указывающий на него. например.
@ IN A 192.168.1.10
www IN CNAME @
www
"унаследует" все записи, связанные с@
($ORIGIN, самим доменом ).Это включает в себя запись A и любые NS, MX или TXT и любые другие записи, которые могут существовать.
Запись NS в основном не имеет значения, но запись MX может быть полезна, если, например, почтовый сервер для domain.example.com
настроен также на обработку почты для www.domain.example.com
.
В качестве альтернативы вы можете создать запись A для www
, а затем сделать squirrel
псевдонимом, указывающим на него. например.
www IN A 192.168.1.10
squirrel IN CNAME www
Здесь белка наследует все от www
, который имеет только запись A.