首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在尝试从bash脚本中的.csv文件验证域名

我正在尝试从bash脚本中的.csv文件验证域名
EN

Stack Overflow用户
提问于 2017-03-13 03:37:16
回答 3查看 140关注 0票数 0

以下是我所拥有的,但不起作用:

代码语言:javascript
复制
for i in `cat cnames.csv`

    do nslookup $i | grep -v "8.8.8.8\|=\|Non-authoritative" >> output.txt
done

有更好的解决方案吗?

EN

回答 3

Stack Overflow用户

发布于 2017-03-13 03:53:33

这是Bash FAQ 001;您不需要使用for循环遍历文件。

代码语言:javascript
复制
while IFS= read -r i; do
     nslookup "$i"
done < cnames.csv  | grep -v "8.8.8.8\|=\|Non-authoritative" > output.txt

请注意,您不需要为每个对nslookup的调用单独运行grep;您可以将聚合输出通过管道传递给单个调用。

票数 1
EN

Stack Overflow用户

发布于 2017-03-13 03:48:05

您可以使用nslookup的退出状态。

代码语言:javascript
复制
for i in $(cat cnames.csv); do
    if nslookup "$i"; then
        echo "$i is valid"
    else
        echo "$i not found"
    fi
done

cnames.csv是真正的.csv文件吗?这不是只需要提取其中包含地址的列吗?现在,逗号和其他字段(如果存在)也会被读取。

票数 0
EN

Stack Overflow用户

发布于 2017-03-13 05:29:02

您可能可以使用GNU Parallel以并行方式更快、更简洁地查找它们

代码语言:javascript
复制
parallel -a cnames.csv nslookup {} | grep ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42752141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档