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