GREP两个特定的专栏

Adr*_*ian 2 linux bash grep

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

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

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

我知道怎么做只验证第一个字

grep '^A' file
Run Code Online (Sandbox Code Playgroud)

但如何核实第二个字?

anu*_*ava 6

你可以使用awk:

awk '$1 ~ /^A/ && $2 ~ /^B/' file
Run Code Online (Sandbox Code Playgroud)

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

awk 'index($1, "A")==1 && index($2, "B")==1' file
Run Code Online (Sandbox Code Playgroud)

这是一个egrep相同的命令,但更喜欢awk:

egrep '^A[^[:blank:]]*[[:blank:]]+B' file
Run Code Online (Sandbox Code Playgroud)

  • 为什么?它不适合这项工作.或者这是家庭作业? (4认同)