-1

我的文件有这样的结构:

    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 相关的行。

先感谢您。

4

2 回答 2

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
> 
于 2013-01-08T10:20:50.610 回答
1

将您粘贴的示例作为文件,以下 grep 行有效:

grep 'HELLO[( ]' file
grep 'HONEY[( ]' file
于 2013-01-08T10:44:12.523 回答