grep 参数组合 -f -w


2023 01 09 更新:
还会有一种特殊情况匹配错误 -w -f 依然出错

用字符串ABC 匹配 ABC,ABC-1,ABC-2

ABC-1,ABC-2 都会被匹配到;
就解决方法,改成完全一样的,vim 中前后加 \t tab
%s#^#\t#g
%s#$#\t#g

然后 grep -f par.lst xxx.bed


血的教训:用 -f 一定要带上 -w ,除非你想局部匹配;
带上-w全词匹配,相当于你的文件内容每行末尾加了 \Z 或者$ 表示末尾的正则。
文件1:

A
B
C

文件2

A
B
B1
B2
B3
C
D
grep  -v -f 文件1 文件2
# 结果: D
grep  -v -w -f  文件1 文件2
# 结果 B1 B2 B3 D

-v, --invert-match select non-matching lines
-f, --file=FILE obtain PATTERN from FILE
-w, --word-regexp force PATTERN to match only whole words

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【注】具体详解参见 man 手册。 1. 简介 grep 命令用来在文件中查找并输出包含匹配指定模式的字符的行。 ...
    BlueHeart0621阅读 269评论 0 1
  • 用法: 默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。例如: grep -i 'hello wo...
    夜观星阅读 343评论 0 0
  • 说起Linux操作系统中的grep命令,或许没有人会不知道。在我看来,grep 命令是Linux操作系统上最强大的...
    归源阅读 311评论 0 0
  • grep ,comm命令等,后续更新中 1.求b中查找a相同的id:交集 -w, --word-regexp ...
    溪溪溪溪溪川阅读 317评论 0 0
  • 用法: grep [选项]... PATTERN [FILE]... 在每个 FILE 或是标准输入中查找 PAT...
    _smoking_阅读 432评论 0 0