【问题标题】:bash script using xargs and curl(how to echo parsing argument)使用 xargs 和 curl 的 bash 脚本(如何回显解析参数)
【发布时间】:2021-03-11 04:26:21
【问题描述】:
sed -e 's/,$//' -e 'y/,/:/' myips.txt | xargs  -P 5 -I XX  curl -skd --connect-timeout 10 --max-time 10 http://XX/

myips.txt 将会是

127.0.0.1
127.0.0.2
127.0.0.3

我将输出保存在一个文件中,但我不知道如何在每个 otput 开头回显 ip

命令将是 curl -skd --connect-timeout 10 --max-time 10 http://127.0.0.1 并且输出可以说是随机网页之类的内容

考虑到我有超过 50 个 ips 要查看,我无法弄清楚女巫的 ip 输出是什么

例如输出将是

`Error 404: Not Found Error 404: Not Found `

我希望它是

127.0.0.1 Error 404: Not Found 127.0.0.2 Error 404: Not Found 

甚至更好会更好

127.0.0.1 Error 404: Not Found 
===================================    
127.0.0.2 Error 404: Not Found

【问题讨论】:

  • 你很幸运,要查看超过 50 个 ips,五个 curl 调用并行运行并且全部写入 STDOUT,你从未看到这些输出混合在一起 - 大概所有网页都很短。

标签: bash curl xargs


【解决方案1】:
sed -e 's/,$//' -e 'y/,/:/' myips.txt \
    | xargs  -P 5 -I XX \
        sh -c '
            printf "%s " XX;
            curl -skd --connect-timeout 10 --max-time 10 http://XX/
            echo ===================================
        '

这其实和curl无关,这里有echo的demo:

sed -e 's/,$//' -e 'y/,/:/' myips.txt \
    | xargs  -P 5 -I XX \
        sh -c '
            printf "%s " XX;
            echo "Error 404: Not Found";
            echo ===================================
        '

用你的myips.txt 输出:

127.0.0.1 Error 404: Not Found
===================================
127.0.0.2 Error 404: Not Found
===================================
127.0.0.3 Error 404: Not Found
===================================

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 2015-12-25
    • 2011-11-26
    • 1970-01-01
    相关资源
    最近更新 更多