如何检查字符是否跟在文本文件中的字符串之后?
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
假设我们有这个 .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