【问题标题】:How do I delete lines matching multiple pattern in text file using bash command?如何使用 bash 命令删除文本文件中与多个模式匹配的行?
【发布时间】:2018-07-28 00:38:30
【问题描述】:

我有一个文本文件,想删除以 A、T、G 或 C 开头的行。如果只是 A,我可以这样做 sed '/A/d' infile.txt,但是如何删除以 A、T、G 或 C 开头的行A、T、G 还是 C 字母?

【问题讨论】:

  • 使用grep -v "^[ATGC]"。查看grep 的手册页以获取选项说明。
  • 请避免 "Give me the codez" 问题,这些问题已经被问了很多次并得到了回答,您必须努力避免找到答案。而是显示您正在处理的脚本并说明问题所在。另见How much research effort is expected of Stack Overflow users?

标签: linux bash unix pattern-matching


【解决方案1】:

你可以使用sed:

sed '/^[ATGC]/d' infile.txt

grep:

grep -v '^[ATGC]'

或者bash本身:

while read -r line; do [[ $line =~ ^[ATGC] ]] || echo "$line"; done < infile.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-06
    • 2016-03-08
    • 2018-03-08
    • 1970-01-01
    • 2014-09-30
    • 2021-11-24
    • 2011-06-03
    • 2016-01-19
    相关资源
    最近更新 更多