Unix 如何处理-&引用;在grep?
它被问了好几次,但我还不清楚 我在一个文件中有以下文本(data.txt,tab delimetered): 现在我想搜索ABC和DEF,但不是ABC-AS,DEF-AS作为结果Unix 如何处理-&引用;在grep?,unix,grep,Unix,Grep,它被问了好几次,但我还不清楚 我在一个文件中有以下文本(data.txt,tab delimetered): 现在我想搜索ABC和DEF,但不是ABC-AS,DEF-AS作为结果 grep -w ABC data.txt 输出: grep -w ABC data.txt ABC ABC-AS grep --no-group-separator -w "ABC" data.txt ABC ABC-AS grep --group-separator="\t" -w "ABC" d
grep -w ABC data.txt
输出:
grep -w ABC data.txt
ABC
ABC-AS
grep --no-group-separator -w "ABC" data.txt
ABC
ABC-AS
grep --group-separator="\t" -w "ABC" data.txt
ABC
ABC-AS
尝试此操作,仅选择与整行完全匹配的匹配项
grep --line-regexp "ABC" data.txt
尝试此操作,仅选择与整行完全匹配的匹配项
grep --line-regexp "ABC" data.txt
用正则表达式
grep -E "(ABC|DEF)[^\-]" data.txt
详细信息
(ABC|DEF)
:匹配“ABC”或“DEF”
[^\-]
:除“-”以外的任何内容
输出
ABC 12
DEF 18
用正则表达式
grep -E "(ABC|DEF)[^\-]" data.txt
详细信息
(ABC|DEF)
:匹配“ABC”或“DEF”
[^\-]
:除“-”以外的任何内容
输出
ABC 12
DEF 18
如果您的
grep
版本有可用的Perl正则表达式,则可以使用负前瞻。您可以查找ABC
,然后发布过滤器grep-v'ABC-[A-Z]
或其他类似内容。根据修改后的说明,您可以使用grep'^ABC[[:space:]]
查找以ABC
开头而非ABC-AS
的行吗?或者grep-E'^(ABC | DEF)[空格:]'
如果您也想DEF
的话。或者grep“ABC\s”data.txt
。对于多个模式:grep-e“ABC\s”-e“DEF\s”data.txt
如果您的grep
版本有可用的Perl正则表达式,则可以使用负前瞻。您可以查找ABC
,然后发布过滤器grep-v'ABC-[A-Z]
或其他类似内容。根据修改后的说明,您可以使用grep'^ABC[[:space:]]
查找以ABC
开头而非ABC-AS
的行吗?或者grep-E'^(ABC | DEF)[空格:]'
如果您也想DEF
的话。或者grep“ABC\s”data.txt
。对于多个模式:grep-e“ABC\s”-e“DEF\s”data.txt
对不起。该文件包含其他列。我更新了查询以反映确切的情况。在这种情况下,请尝试以下操作:grep“ABC[[:blank:][]”\data.txt
对不起。该文件包含其他列。我更新了查询以反映确切的情况。在这种情况下,请尝试以下操作:grep“ABC[[:blank:][]”\data.txt