我正在阅读教程的第2.3节-http://www.vectorsite.net/tsawk_2.html#m2
awk还有更多的字符串搜索功能。搜索可以
限制为输入行中的单个字段。
例如:

$1 ~ /^France$/

没有代码可以说明这个模式是如何工作的。有人能告诉我这条线怎么用,怎么用吗?

最佳答案

当然!
$1~/^法国$/
使用以下awk命令:

awk '$1 ~ /^France$/ { print }'

以及以下输入
France 1
France1 2
france 3
- France 4
France - 5

输出将是
France 1
France - 5

$1是第一个字段的值;awk的默认值是使用空格分隔的字段进行拆分。/^France$/是与字符串france完全匹配的正则表达式(使用字符串开始和字符串结束锚^$)。最后,~是一个二进制字符串运算符,它通过右侧的正则表达式匹配左侧。
注意,正则表达式可以用普通的带引号的字符串表示,也可以用变量表示,但是当表达式内联时,“/…/”语法更好,因为它更明显,并且当表达式中有引号或反斜杠时,不需要额外转义字符串。
当然,这个特定的表达式会简单得多。
让我知道一个更复杂的例子是否有帮助。

09-27 06:01