GREP两个特定的专栏

时间:2014-06-12 18:23:39

标签: linux bash grep

我有一个文件,每行有两个单词,使用 GREP 我必须验证两个条件:

  1. 如果第一个单词以特定字母开头,例如“A”

  2. 相同的第二个字但不同的字母,例如'B'

  3. 我知道怎么做只验证第一个单词

    grep '^A' file
    

    但如何验证第二个字?

3 个答案:

答案 0 :(得分:6)

您可以使用awk

awk '$1 ~ /^A/ && $2 ~ /^B/' file

如果你想避免使用正则表达式,你可以使用这个awk:

awk 'index($1, "A")==1 && index($2, "B")==1' file

这是egrep命令,但更喜欢awk

egrep '^A[^[:blank:]]*[[:blank:]]+B' file

答案 1 :(得分:3)

您可以使用egrep和正则表达式:

$ egrep '^A.*\s+B' file

egrep也可用grep -E

$ grep -E '^A.*\s+B' file

正则表达式是"以A开头,有一些字符,然后是至少一个空格,然后是B"。

答案 2 :(得分:0)

怎么样:

grep '^A[a-zA-Z]* B' file