首页 > 解决方案 > 如何使用 bash 命令删除文本文件中与多个模式匹配的行?

问题描述

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

标签: linuxbashunixpattern-matching

解决方案


你可以使用sed

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

或者grep

grep -v '^[ATGC]'

bash本身:

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

推荐阅读