Unix:想要匹配数字和返回应该是完全匹配或只是更少的数字

时间:2016-04-13 05:28:19

标签: unix

我的输入将为: 04.02.03.00 我的其他名单将是 04.02.01.00,04.02.02.00& 04.02.05.00

如果完全匹配(04.02.03.00)不在列表中,则将输入(04.02.03.00)与给定列表进行比较后,04.02.02.00应作为输出返回。

2 个答案:

答案 0 :(得分:0)

您可以使用以下作为 bash

的示例
 read INPUT

 for STRING in 04.02.01.00 04.02.02.00 04.02.05.00
 do
     if [[ "$INPUT" = $STRING ]]
     then
         FOUND=1
     fi
 done

 if [[ FOUND -ne 1 ]]
 then
     echo 04.02.02.00
 fi

答案 1 :(得分:0)

我同意迈克尔只是为了工作我认为它需要"测试",所以这样。虽然括号可以帮助你保护你自己免受空变量的影响,但这是有意义的。

 read INPUT

 for STRING in 04.02.01.00 04.02.02.00 04.02.05.00
 do
     if test "$INPUT" = $STRING
     then
         FOUND=1
     fi
 done

 if test $FOUND -ne 1 
 then
     echo 04.02.02.00
 fi