如何根据字符位置对具有条件的行进行grep?

时间:2019-05-17 05:04:52

标签: regex unix grep

说我有一个随机的字母字符串

我的目标是在子字符串出现之前匹配不包含字母'B'的字符串

'PA'

ATRESFGOR PA HJ B (有效)

AHJSF B SDF PA OPQ(无效)

所以我想,我会首先尝试匹配所有不包含字母B的字符,然后再显示'PA'

grep -v '[^ ]*\B' *.txt | {condition for before 'PA'?}

但我不知道如何将其设置为正确的格式。

我该怎么做才能满足条件?

1 个答案:

答案 0 :(得分:1)

grep '^[^B]*PA'

例如:

$ cat file
ATRESFGORPAHJB (Valid)
AHJSFBSDFPAOPQ (Invalid)

$ grep -E '^[^B]*PA' file
ATRESFGORPAHJB (Valid)