Bash获取和解析结果
我正在尝试解析的一些结果Bash获取和解析结果,bash,parsing,Bash,Parsing,我正在尝试解析的一些结果 arp -a 及 我如何运行bash脚本来运行arp-a并打印每个返回的IP?您可以使用awk: arp -a | awk '{ gsub(/[()]/, "", $2); print $2; }' 您可以使用awk执行此操作: arp -a | awk '{ gsub(/[()]/, "", $2); print $2; }' 对于GNU grep和其他一些支持PCRE的软件: arp -a | grep -Po '.*?\(\K.*?(?=\).*)' AW
arp -a
及
我如何运行bash脚本来运行arp-a并打印每个返回的IP?您可以使用awk:
arp -a | awk '{ gsub(/[()]/, "", $2); print $2; }'
您可以使用awk执行此操作:
arp -a | awk '{ gsub(/[()]/, "", $2); print $2; }'
对于GNU grep和其他一些支持PCRE的软件:
arp -a | grep -Po '.*?\(\K.*?(?=\).*)'
AWK:
sed:
Perl:
对于GNU grep和其他一些支持PCRE的软件:
arp -a | grep -Po '.*?\(\K.*?(?=\).*)'
AWK:
sed:
Perl:
下面是另一个解决方案:
arp -a | cut -f 2 -d ' '
如果不需要括号:
arp -a | cut -f 2 -d ' ' | sed 's/[()]//g'
或者,要将收集的ip地址转储到阵列中,请执行以下操作:
ips=( $(arp -a | cut -f 2 -d ' ' | sed -r -e 's/[()]//g') )
要访问:
echo ${ips[1]}
下面是另一个解决方案:
arp -a | cut -f 2 -d ' '
如果不需要括号:
arp -a | cut -f 2 -d ' ' | sed 's/[()]//g'
或者,要将收集的ip地址转储到阵列中,请执行以下操作:
ips=( $(arp -a | cut -f 2 -d ' ' | sed -r -e 's/[()]//g') )
要访问:
echo ${ips[1]}
纯Bash:
arp -a | while read -a line ; do
echo ${line[1]:1:-1}
done
纯Bash:
arp -a | while read -a line ; do
echo ${line[1]:1:-1}
done
我怎样才能得到第一个并将IP存储在一个变量中?@Michael:你的问题中没有这个。var=$arp-a | awk-F'[]“{print$2;exit}”将是一种方式。哎呀,在它的末尾应该有一个右括号:var=$arp-a | awk-F'[]”{print$2;exit}我如何获取第一个并将IP存储在一个变量中?@Michael:你的问题中没有这个。var=$arp-a | awk-F'[]“{print$2;exit}”将是一种方式。哎呀,在它的末尾应该有一个右括号:var=$arp-a | awk-F'[]“{print$2;exit}”