regex - 如何在 AWK 的字段分隔符中使用抑扬符?

标签 regex awk

我想用,^作为字段分隔符,如下:

echo "hello,^my,^friend" | awk -F',^' '{print $2}'

上面的命令应该返回my。但实际上它什么也没返回,为什么?我想不通。

最佳答案

在扩展的正则表达式中,无论它在整个表达式中的位置如何,都会保留抑扬符的特殊含义,除非它被引号或在括号表达式中,因此您需要引用它。

$ echo "hello,^my,^friend" | awk -F',\\^' '{print $2}'
my

比较 BRE Expression AnchoringERE Expression Anchoring .

关于regex - 如何在 AWK 的字段分隔符中使用抑扬符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62144609/

相关文章:

用于删除括号之间字符的正则表达式

c++ - 如何使用正则表达式从QT C++中的字符串中获取子字符串值

bash - 追加到前一行以进行匹配

sed - 如何用 sed 中的一行替换两个模式之间的行?

linux - linux中的数据操作

Python 正则表达式为最后一个匹配的字符返回额外的捕获组

c# - 年份无法使用正则表达式正确显示

linux - 在 bash 中的不同列上运行不同的管道

RegExp 匹配字符串不以 my 开头

linux - 如何将命令应用到第n列?