我需要从命名 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