从命名区域文件生成 CSV/TXT 文件

从命名区域文件生成 CSV/TXT 文件

我需要从命名 DNS 服务器上的区域文件生成 csv/txt 文件。

例如我想从区域文件中生成主机名和 IP 列表

由此

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

对此

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

如何使用 Sed 和 Grep 实现此目的?有人有用于执行类似任务的脚本吗?

答案1

也许你会考虑使用 awk 来实现这一点:

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

如果您已确定sed,这里有一种方法可以做到(GNU sed):

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

或者使用 GNU coreutils:

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

输出:

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

相关内容