是否可以将默认的正则表达式定界符(斜杠)更改为其他字符? 我尝试使用sed语法进行更改,但没有成功。 $ gawk '\|bash| { print } ' backup.sh gawk: |bash| { print } gawk: ^ syntax error 我正在尝试的正则表达式有许多斜杠。转义所有这些会使它变得丑陋和难以阅读。我尝试将 / 更改为 |,但没有起作用。谢谢提前帮助。
awk '/pat1/,/pat2/' foo.html
-- 这些模式包含斜杠和双引号字符(是html代码)。你能否提供一个不需要转义斜杠和双引号的示例? - Jonathan Crossawk '/pat1/,/pat2/' foo.html
,而不是使用/pat1/
和/pat2/
-- 然后我就可以弄清楚转义了? - Jonathan Crossawk 'BEGIN {var1 = "pat1"; var2 = "pat2"} $0 ~ var1, $0 ~ var2 {print}' filename
是一种方法。另一种方法是awk -v var1='pat1' -v var2='pat2' '$0 ~ var1, $0 ~ var2 {print}' filename
(它允许您传递 shell 变量以及所示的字符串/模式)。 - Dennis Williamson