grep - 正则表达式包含/排除循环中的类似模式

时间:2018-02-08 12:07:45

标签: regex grep

我有两个相似的模式(skylab/plat-kk & skylab/plat-kk-manager)并grep“日志文件并计算包含模式的行的出现次数

skylab/plat-kk-manager-12345
skylab/plat-kk-12345

我的项目我将所有模式存储在属性文件中,如

skylab/plat-kk 
skylab/plat-kk-manager
actual=$(grep -io "${patterb_arr[j]}" ${stack_file}
  1. ${patterb_arr[j]} = skylab/plat-kk时,它会返回包含a skylab/plat-kk-manager-12345 & b)skylab/plat-kk-12345的行(我只想skylab/plat-kk-12345

  2. ${patterb_arr[j]}=skylab/plat-kk-manager时,会返回包含skylab/plat-kk-manager-12345的行,这是预期的。

  3. 如何使正则表达式通用,以便在循环

    时影响它

1 个答案:

答案 0 :(得分:0)

您需要使您的正则表达式更具体。在这种情况下,例如你可以grep "${patterb_arr[j]}-[0-9]\{5\}"