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

如何修改Bash脚本实现每个IP的whois结果单独存为文件?

解决方案

直接修改脚本即可实现每个IP的whois结果单独保存为对应IP命名的文件,以下是优化后的版本:

#!/bin/bash
while IFS= read -r ip; do
    # 跳过空行
    [[ -z "$ip" ]] && continue
    echo "正在查询 $ip..."
    # 将结果写入以IP命名的文件
    whois "$ip" > "${ip}.txt"
done < iplist.txt

关键改动说明

  • 替换循环方式:用while IFS= read -r ip替代原脚本的for domain in \cat iplist.txt``,这种写法能更安全地读取文件每一行,避免因换行符或特殊字符导致的错误,是处理文本文件的最佳实践。
  • 跳过空行:添加[[ -z "$ip" ]] && continue,避免处理文件中的空行,防止生成无用的空文件。
  • 单独保存结果:把原脚本的>> results.txt改成> "${ip}.txt",每个IP的查询结果会单独写入以该IP命名的TXT文件(比如192.168.1.1.txt)。如果需要保留历史结果,可将>换成>>,但通常覆盖旧结果更合理。
  • 变量包裹:用双引号包裹$ip(即"$ip"),避免特殊字符引发的问题(虽IP地址一般不会有,但养成该习惯能规避潜在风险)。

额外优化建议

若想让结果更整洁,可创建单独目录存放所有whois文件:

#!/bin/bash
# 创建结果目录(不存在则自动创建)
mkdir -p whois_results
while IFS= read -r ip; do
    [[ -z "$ip" ]] && continue
    echo "正在查询 $ip..."
    whois "$ip" > "whois_results/${ip}.txt"
done < iplist.txt

执行后,所有IP的查询结果都会存放在whois_results目录下,不会和其他文件混杂。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:55:18