Вы можете использовать этот код. Прочтите код перед его выполнением, поскольку он создает каталог в папке /tmp
с именем domains
, а затем удаляет его в конце
DOMAIN=''
IFS=' '
declare -A domain
mkdir /tmp/domains
while read line
do
DOMAIN=$(echo $line | awk '{print $1}')
SERVER=$(echo $line | awk '{print $2}' )
echo "$SERVER," >> /tmp/domains/$DOMAIN
domain[$DOMAIN]=1
done < Names.txt
sed -ir "$ s/.,$//" /tmp/domains/*
for i in "${!domain[@]}"; do
echo -n "$i(server:";
while read line ; do
echo -n "$line" ;
done < /tmp/domains/$i
echo ")"
done
rm -rf /tmp/domains
Это создает папку в папке /tmp со следующими данными, так что каждое имя файла домена имеет список содержащихся в них серверов
$ ls -lhtr /tmp/domains/
total 12K
-rw-rw-r-- 1 arushirai arushirai 11 Jun 19 17:54 TADDomain
-rw-rw-r-- 1 arushirai arushirai 16 Jun 19 17:54 LinkDomain
-rw-rw-r-- 1 arushirai arushirai 32 Jun 19 17:54 ABCDomain
$ cat /tmp/domains/ABCDomain
ContractABCServer_1,
ABC_server
$ cat /tmp/domains/LinkDomain
CoreLinkServer_
$ cat /tmp/domains/TADDomain
TADServer_
извините, я пока не могу комментировать, можете попробовать этот ответ? речь идет о жестком переназначении клавиш.
https://unix.stackexchange.com/a/170357/235896
Я не буду копировать содержимое с этого же сайта в том виде, в каком оно есть, и любые обновления здесь не будут отражены. (ммм было бы хорошо, если бы мы могли вложить еще один ответ в наш, чтобы его можно было обновить извне!)