在awk中,如果需要忽略带引号的分隔符,可以使用FPAT
变量来定义字段的模式。在这种情况下,可以将引号内的内容作为一个字段来处理。
下面是一个使用FPAT
变量来解决这个问题的示例代码:
echo 'a "b1 b2" c' | awk -v FPAT='[^ ]+|"[^"]+"' '{print $2}'
在这个示例中,FPAT='[^ ]+|"[^"]+"'
定义了字段的模式。它匹配了两种情况:非空格字符([^ ]+
)和被双引号包围的字符串("[^"]+"
)。
通过使用-v
选项,我们将FPAT
变量设置为定义的模式。然后,{print $2}
打印第二个字段,即引号内的内容。
运行这段代码的输出将是"b1 b2"
。
上一篇:awk和字段分割参数