grep 参数组合 -f -w

作者: Silver_42ac | 来源:发表于2022-08-24 14:33 被阅读0次

    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

    相关文章

      网友评论

        本文标题:grep 参数组合 -f -w

        本文链接:https://www.haomeiwen.com/subject/tdzagrtx.html