在Awk中,可以使用正则表达式来匹配特定字符之间的单词。下面是一个示例代码,演示了如何使用Awk来获取字符串中两个特定字符之间的单词:
#!/bin/awk -f
BEGIN {
# 设置字段分隔符为特定字符
FS="[()]"
}
{
# 遍历每个字段
for (i=1; i<=NF; i++) {
# 使用正则表达式匹配单词
if ($i ~ /[a-zA-Z]+/) {
# 输出匹配到的单词
print $i
}
}
}
上述代码将字符串中的括号作为字段分隔符,然后遍历每个字段,使用正则表达式/[a-zA-Z]+/
匹配到的字段即为单词。如果要获取其他特定字符之间的单词,只需将FS变量的值修改为相应的字符即可。
假设将上述代码保存为get_words.awk
文件,然后运行以下命令:
$ echo "(hello) world (foo) bar" | awk -f get_words.awk
输出将是:
hello
world
foo
bar
以上示例代码可以根据具体情况进行修改,以满足特定需求。