我正在阅读教程的第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完全匹配的正则表达式(使用字符串开始和字符串结束锚^
和$
)。最后,~
是一个二进制字符串运算符,它通过右侧的正则表达式匹配左侧。注意,正则表达式可以用普通的带引号的字符串表示,也可以用变量表示,但是当表达式内联时,“/…/”语法更好,因为它更明显,并且当表达式中有引号或反斜杠时,不需要额外转义字符串。
当然,这个特定的表达式会简单得多。
让我知道一个更复杂的例子是否有帮助。