我有一个可以正常工作的正则表达式awk
,但首先我需要将正则表达式存储在 shell 变量中
valLat="^[-+]?(([0-9]+[d])?([0-9]+['])?([0-9]*[.]?[0-9]+[\"])?|[0-9]*[.]?[0-9]+)[NnSs]?$"
然后将shell变量传递给这样的awk
变量
echo 39d41\'17.766\"N | awk -v valLat=$valLat '{ if ($1 ~ valLat) print $1; else print "erro" }'
39d41'17.766"N
这可行,但我想在不使用 shell 变量的情况下执行此操作。我尝试在特殊字符之前使用转义符“\”但没有成功。