我的文件有这样的结构:
HELLO h e l lo
HELLO(2) h ee l lo
HELLOMUM h e l ll m um
HELLO-FATHER h e llo fa th er
HOME h o m e
HONEY h o ne y
HONEY(2) ho nei y
HONEY(3) h o ney
HONEYMOON ho ney m o o n
HONEY-MOON h o ne y moo n
我想在寻找HELLO这个词的同时,只提取HELLO和HELLO(2)这两个词的亲戚。同样的事情,如果我正在寻找HONEY这个词,我想只有相对于HONEY,HONEY(2)和HONEY(3)的行。 我正在使用
grep -w "HELLO" file.txt
但这让我回到了HELLO,例如,相对于HELLOMUM和HELLO-FATHER的线条。
提前谢谢。
答案 0 :(得分:1)
我想这应该适合你。
grep '^HELLO[^a-zA-Z]' your_file
测试如下:
> grep '^HELLO[^a-zA-Z\-]' temp
HELLO h e l lo
HELLO(2) h ee l lo
> grep '^HONEY[^a-zA-Z\-]' temp
HONEY h o ne y
HONEY(2) ho nei y
HONEY(3) h o ney
>
答案 1 :(得分:1)
将您的粘贴示例作为文件,以下grep行有效:
grep 'HELLO[( ]' file
grep 'HONEY[( ]' file