丢弃包含特定字符的行

丢弃包含特定字符的行

如何从文件中删除包含字符“H”的行?该文件包含以下列:

H1
N1
H2
C1
H3
H4
C2
H5
H6
N2
H7
C3
H8
H9
C4
H10
H11
N3
H12
C5
H13
H14
C6
H15
H16

期望的输出是:

N1
C1
C2
N2
C3
C4
N3
C5
C6

答案1

容易地:

grep -v 'H' oldfile > newfile

有关详细信息,请参阅 grep 联机帮助页:

man grep

答案2

dr01 使用 给出了很好的答案grep,您也可以使用sed,并且某些sed实现还具有一个-i选项,允许您就地编辑文件而无需使用重定向,

sed -i /H/d file.txt

答案3

当然awk也可以工作:

awk '!/H/' oldfile > newfile

相关内容