我有一个文件,每行有两个单词,使用 GREP 我必须验证两个条件:
如果第一个单词以特定字母开头,例如“A”
相同的第二个字但不同的字母,例如'B'
我知道怎么做只验证第一个单词
grep '^A' file
但如何验证第二个字?
答案 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