如何检查字符是否跟在文本文件中的字符串之后?

How to check if a character follows a string in a text file?

假设我们有这个 .txt 文件:

ABC;123
B;54
F;12
ABC;23
B;9

并且只想打印包含 ABC 标识符的行,即输出应该是:

ABC;123
ABC;23

但是当我使用这段代码时

awk -F ';' '("ABC" ~ )' sof.txt

我明白了

ABC;123
B;54
ABC;23
B;9

这显然是不对的。如何检查给定 ID 后是否有分号以便只打印所需的行?

如果您想在第一个字段中完全匹配 ABC,请尝试类似的操作:

awk -F';' '=="ABC"' Input_file

如果您想检查它是否属于任何值的一部分(在第一个字段中),请尝试:

awk -F';' '~/ABC/' Input_file

另一种可能性。

使用 GNU awk 您还可以使用单词边界获得完整字段:

awk -F';' ' ~ /\<ABC\>/' file
ABC;123
ABC;23