我的 awk 程序做了一些奇怪的字符匹配。您能否解释一下发生了什么或将我指向相关文档。
输入文件
| 29900 | St. James | ...
| 33010 | Boole / Kirk | ...
awk
awk '/\| ([0-9]{5}) \| ([^\|]*)/{print $2 $4}' input-file.txt
结果
29900St.
33010Boole
- 为什么第一个捕获组 $1 领先
|
?通常 $0 是整场比赛,$1 是第一组。 - 为什么
([^\|]*)
停在.
而/
不是继续阅读?我基本上告诉它“所有不是|的字符” 毕竟。