脚本 Shell 在文件中查找字符串

脚本 Shell 在文件中查找字符串

这是我的文件结构:

/**** Some Text here ****/                         
UN  10.147.243.93  51.46 KB   256     34.2%
UN  10.147.243.89  83.05 KB   256     34.6%
DN  10.147.243.88  66.43 KB   256     32.7%            

这是我的脚本

file=$1
echo $file
if grep -q DN $File; then
   echo "Get the corresponding IP address, It is the treatment that I   
         want to do next"
fi

但是,它只显示文件名。您有什么想法吗?

2- 然后我想提取相应的 IP 地址。以下是一些详细信息:

if grep -q DN $File; then
   echo "Get the corresponding IP address Guest, It is the treatment 
   that I want to do next"
   variable=This address


fi 

非常感谢你的帮助。

此致。

答案1

如上所述,您应该更正$File拼写错误。

根据你对输出的操作,你可能if根本不需要测试。你说你想将 IP 地址存储在变量中:

file=$1
echo $file
ip=$(grep -e DN $1 | awk '{ print $2; }')
echo $ip

这可以进一步简化,但它与您已有的相匹配。

请注意,这将仅匹配第一的文件中与“DN”对应的 IP 实例;该行为是通过您使用在第一次匹配时立即退出的-q选项来暗示的。grep

如果你想做点什么每个发生时,你必须做些不同的事情。

相关内容