【发布时间】:2019-07-02 11:45:28
【问题描述】:
所以我制作了一个 bash 脚本,在重定向文件上对主机名进行 greps。但是,有些主机以“-”或“_”命名
GTR_SRV123_EST GTR-SRV123-EST
现在,我所做的是,grep 只是 FQDN 的一部分,例如 SRV123
即使我只是输入 FQDN GTR_SRV123_EST 并且它仍然会匹配这个 GTR-SRV123-EST,我有没有办法 grep 主机。
我有一个询问主机名的提示:
echo -n "Please enter the host: "
read $host
grep -i $host ${temp}/*
更新: 所以它在胡安的指挥下工作。但是,目录路径显示在输出中。我怎样才能摆脱它。
/export/home/aa12s/GLB-TXU/temp/
当前输出:
/export/home/aa12s/GLB-TXU/temp/GBL-ASA-A:100022FBC0D00038 gbl-asa-a-mode1 5005076801103673 active gbl-ac-wbg02
期望的输出:
GBL-ASA-A:100022FBC0D00038 gbl-asa-a-mode1 5005076801103673 active gbl-ac-wbg02
命令:
grep -iE "$(echo $host| awk -F '/export/home/aa12s/GLB-TXU/temp/' '{$2=$1;a=gsub(/_/, "-",$2); print $1"|"$2}' 2>/dev/null)" ${temp}/*
【问题讨论】:
-
grep -iE "$(echo $host| awk '{$2=$1;a=gsub(/_/, "-",$2); print $1"|"$2}' 2>/dev/null)" config/temp/*|awk -F \/ '{print $NF}'