Linux xargs执行nc检查端口
文本文件中有以下格式的主机和端口列表Linux xargs执行nc检查端口,linux,bash,shell,Linux,Bash,Shell,文本文件中有以下格式的主机和端口列表 host1 10000 host2 20000 我想并行执行nc来检查端口连接 我尝试了以下命令 cat host-port.txt | xargs -n 1 -I ^ -P 5 nc -w 1 -zv ^ |& grep -v succeeded` 但是nc命令失败,出现以下帮助消息 这是netcat openbsd包中的nc。另一种nc可用 在netcat传统软件包中。 用法:nc[-46DDHKLNRSTUVZC][-i间隔][-P
host1 10000
host2 20000
我想并行执行nc
来检查端口连接
我尝试了以下命令
cat host-port.txt | xargs -n 1 -I ^ -P 5 nc -w 1 -zv ^ |& grep -v succeeded`
但是nc
命令失败,出现以下帮助消息
这是netcat openbsd包中的nc。另一种nc可用
在netcat传统软件包中。
用法:nc[-46DDHKLNRSTUVZC][-i间隔][-P代理\用户名][-P源\端口]
[-s源\u ip\u地址][-T ToS][-w超时][-X代理\u协议]
[-x代理地址[:端口][hostname][port[s]]`
如果我从文件中复制字符串并执行它,它就可以正常工作。不确定当xargs
提取行(“主机端口”)并将其传递给nc
时会发生什么请尝试以下操作:
cat hosts.txt| xargs -n 2 sh -c 'nc -w 1 -zv $1 $2' argv0
这个脚本的
#!/bin/bash
input=hosts.txt
while IFS=' ' read -r host port
do
echo ${host} ${port}
# nc -w 1 -zv ${host} ${port}
done < "$input"
#/bin/bash
输入=hosts.txt
而IFS=''读取-r主机端口
做
echo${host}${port}
#nc-w1-zv${host}${port}
完成<“$input”
只需用nc
选项替换行echo${host}${port}