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

mer*_*eri 0 shell awk delimiter

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

ABC;123
B;54
F;12
ABC;23
B;9
Run Code Online (Sandbox Code Playgroud)

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

ABC;123
ABC;23
Run Code Online (Sandbox Code Playgroud)

但是,当我使用此代码时

awk -F ';' '("ABC" ~ $1)' sof.txt
Run Code Online (Sandbox Code Playgroud)

我得到

ABC;123
B;54
ABC;23
B;9
Run Code Online (Sandbox Code Playgroud)

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

Rav*_*h13 5

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

awk -F';' '$1=="ABC"' Input_file
Run Code Online (Sandbox Code Playgroud)

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

awk -F';' '$1~/ABC/' Input_file
Run Code Online (Sandbox Code Playgroud)