如何基于不同列中的字​​符串grep数据?

我有aa.dat具有类似下面的数据,如何基于不同列中的字​​符串grep数据?

frame  1 16980 O 17115H 17123H 

FRAME 1 16980 O 16971H 16981H

frame 1 16982 O 17110H 17121H

FRAME 1 16982 O 16961H 16978H

frame 1 16984 O 17124H 17127H

FRAME 1 16984 O 16983H 16990H

frame 1 17110 O 17102H 17225H

FRAME 1 17110 O 16951H 17138H

FRAME 2 16982 O 16961H 16978H

frame 2 16984 O 17124H 17127H

FRAME 2 16984 O 16983H 16990H

frame 2 17110 O 17102H 17225H

FRAME 2 17110 O 16951H 17138H

...

frame 3 16984 O 17124H 17127H

FRAME 3 16984 O 16983H 16990H

frame 3 17110 O 17102H 17225H

FRAME 3 17110 O 16951H 17138H

frame 4 16980 O 17115H 17123H

FRAME 4 16980 O 16971H 16981H

frame 4 16982 O 17110H 17121H

FRAME 4 16982 O 16961H 16978H

frame 4 17110 Ac 17102H 17225H

FRAME 4 17110 Ac 16952H 17118H

...

我想以“帧”和“17110”的数据只在第3列

FRAME  1 17110 O 16951H 17138H 

FRAME 2 17110 O 16951H 17138H

FRAME 3 17110 O 16951H 17138H

FRAME 4 17110 Ac 16952H 17118H

...

然而,我的代码

grep -E 'FRAME.*17110' aa.dat 

无法从17110H组成的行中分离数据。

任何建议和帮助将不胜感激。

最佳,

莱昂

回答:

grep -P 'FRAME.*17110\W' aa.dat 

简要说明,

  • -P:解释图案作为一个Perl正则表达式
  • 追加\W将仅允许非字(即[^a-zA-Z_])

以上是 如何基于不同列中的字​​符串grep数据? 的全部内容, 来源链接: utcz.com/qa/261012.html

回到顶部