在/,有没有办法匹配包含正斜杠的模式/而不实际逃避它?
awk '$1~/pattern/' file
Run Code Online (Sandbox Code Playgroud)
只要/模式中没有,上面的命令就可以正常工作.
我正在寻找类似于/在搜索和替换语法中使用不同分隔符的可用内容.
任何帮助,将不胜感激.
是的,你可以做到
awk '$0~v' v="patt/ern"
Run Code Online (Sandbox Code Playgroud)
注意:从评论中提取,所以也要投票!
在awk 动态正则表达式和正则表达式常量不完全相同.OP问题中的例子是正则表达式常量,你把它变成动态正则表达式(参见.使用动态正则表达式).
小智 6
Debian Mawk要求转义正斜杠,即使在括号内:
$ echo 'alfa / bravo' | awk '/[\/]/'
alfa / bravo
Run Code Online (Sandbox Code Playgroud)
或者您可以使用双引号:
$ echo 'alfa / bravo' | awk '$0 ~ "/"'
alfa / bravo
Run Code Online (Sandbox Code Playgroud)
或八进制代码:
$ echo 'alfa / bravo' | awk '/\57/'
alfa / bravo
Run Code Online (Sandbox Code Playgroud)