Générer le fichier CSV / TXT à partir du fichier de zone nommé

J'ai besoin de générer un fichier csv / txt à partir d'un fichier de zone sur un serveur DNS nommé.

Pour des exemples, j'aimerais générer une liste du nom d'hôte et de l'IP à partir du fichier de zone

De ce

monkey A 192.168.1.1 bear A 192.168.1.2 shark A 192.168.2.1 bird A 192.168.3.1 lion A 192.168.4.1 

Pour ça

 monkey,192.168.1.1 bear,192.168.1.2 shark,192.168.2.1 bird,192.168.3.1 lion,192.168.4.1 

Comment puis-je atteindre ceci, en utilisant Sed et Grep? Est-ce que quelqu'un a un script qu'ils utilisent pour faire une tâche similaire?

Peut-être que vous envisageriez d'utiliser awk pour ceci:

 awk '{print $1,$3}' OFS=, infile 

Si vous êtes configuré sur sed voici une façon de le faire (GNU sed):

 sed -r 's/([^ \t]+)\s+A\s+([^ \t]+)/\1,\2/' infile 

Ou avec GNU coreutils:

 <infile tr -s ' ' | cut --output-delimiter=, -d' ' -f1,3 

Sortie:

 monkey,192.168.1.1 bear,192.168.1.2 shark,192.168.2.1 bird,192.168.3.1 lion,192.168.4.1