You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多行NS记录解析至CSV文件的单个单元格中?

合并域名NS记录到CSV同一单元格的Bash脚本修改方案

原脚本中,dig NS +short返回的NS记录每行一个,直接写入CSV时会导致同一域名的NS各占一行。要将同一域名的所有NS记录合并到单个单元格,只需将多行的NS记录转换为单行分隔字符串即可,以下是修改后的脚本:

#!/bin/bash

# 可选:清空输出文件,避免重复执行时追加旧内容
> output.csv

for domain in google.com twitter.com
do
    # 将多行NS记录转为逗号分隔的单行字符串
    ns_record=$(dig NS +short "$domain" | paste -sd ',' -)
    # 用双引号包裹字段,符合CSV规范
    echo "\"$domain\",\"$ns_record\"" >> output.csv
done

关键改动说明

  • 使用paste -sd ',' -:paste命令的-s参数表示合并所有输入行,-d ','指定用逗号作为分隔符,最后的-表示读取标准输入,这样就能把dig返回的多行NS记录合并成一行逗号分隔的字符串。
  • 双引号包裹字段:给域名和NS记录添加双引号,避免如果NS记录包含特殊字符(如逗号)时破坏CSV格式,符合CSV的标准写法。
  • 可选的文件清空:开头的> output.csv会清空输出文件,如果你需要保留之前的内容,可以去掉这一行。

如果希望用其他分隔符(比如空格、分号),只需把paste -sd ',' -里的逗号换成对应的字符即可,例如用空格分隔:paste -sd ' ' -。

内容的提问来源于stack exchange,提问作者FrOgY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:15:46