[英]Understand a search pattern in AWK?
我正在阅读本教程的第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相匹配的正则表达式(使用字符串起始锚和字符串结尾锚^
和$
)。 最后, ~
是二进制字符串运算符,它通过左侧的正则表达式匹配左侧。
请注意,正则表达式可以表示为普通的带引号的字符串,也可以指定为变量,但是当表达式为内联时,“ /.../”语法会更好,因为它更明显,并且不需要多余的转义字符串会导致表达式中有引号或反斜杠。
当然,该特定表达式将更简单,因为$1 == "France"
。
让我知道一个更复杂的示例是否会有所帮助。
要学习awk,请阅读《有效的awk编程》,第三版,由Arnold Robbins撰写。 不要依靠随机的网站来获得准确或有用的信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.