前提:
若干个文件如hostsAA_平台.cfg 、 hostsBB_服务.cfg 、 hostsCC_平台.cfg 、 hostsDD_服务.cfg、 hostsXX_平台.cfg,每个文件定义了很多主机数,每个主机配置定义格式如下:
define host{
use linux-server
host_name AA-平台-济南
alias 16.198.64.4
}
解决的命令: ls host* | xargs cat | grep -E "[0-9] + .[0-9] +.[0-9] +.[0-9]+" | awk '{print $2}' | uniq | wc -l
注释:
1.xargs 命令适用于管道命令不能使用的情况,本例中xargs命令将前面的输出作为cat的命令行参数。
2.grep -E "[0-9] + .[0-9] +.[0-9] +.[0-9]+",查找含有ip格式的字符串
3.awk '{print $2}',只打印输出一行记录的第二个被分割的域。即 address 16.198.64.4 这行数据的 16.198.64.4