【发布时间】:2014-03-31 18:01:07
【问题描述】:
我最近升级了我的 FreeBSD 机器,现在 pythonbrew 似乎坏了。它退出了这一行的 .pythonbrew/etc/bashrc 文件:
PATH_WITHOUT_PYTHONBREW=$(printf "$PATH" | awk -v RS=: -v ORS=: "/${PATH_ROOT//\//\/}/ {next} {print}" | sed -e 's#:$##')
给出错误:
awk: syntax error at source line 1
context is
>>> //home/myusername/. <<< pythonbrew/ {next} {print}
awk: bailing out at source line 1
PATH_ROOT 变量是
/home/myusername/.pythonbrew
【问题讨论】:
-
在我看来,您尝试读取
awk代码中的变量。像这样使用awkawk -v RS=: -v ORS=: -v path=$path_root '$0==path {next... -
${PATH_ROOT//\//\\\/}有效吗?尽管@Jotne 建议使用-v可能是一个更好的计划。虽然使用$0 ~ path,但如果你想要正则表达式匹配而不是相等。
标签: python awk pythonbrew