首页 > 解决方案 > 如何使用awk打印双引号?

问题描述

我必须将以下包含双引号的文本附加到文件的特定行:

execfile(r"/'${path}'/'Template_${step_x}_${step_y}'/prova.py")

我尝试使用以下命令:

gawk -i inplace 'NR==20{print"execfile(r"/'${path}'/'Template_${step_x}_${step_y}'/prova.py")"}1' ${file}

但我得到一个语法错误。我尝试使用\47"\""作为双引号,但它们似乎不起作用。

标签: bashtextawkappend

解决方案


您可以像这样打印引用 awk:

awk 'BEGIN{print "execfile(r\"/\047${path}\047/\047Template_${step_x}_${step_y}\047/prova.py\")"}'

execfile(r"/'${path}'/'Template_${step_x}_${step_y}'/prova.py")

所以总是转义双引号并使用\047打印单引号。


推荐阅读