通过Latex将引号字符传递给shell
我需要通过Latex将引号(“)字符传递给shell,以便使用printf命令:通过Latex将引号字符传递给shell,shell,awk,latex,Shell,Awk,Latex,我需要通过Latex将引号(“)字符传递给shell,以便使用printf命令: \makeatletter \newcommand{\calcCorrelation}[1]{{\input{|"awk ' { ... } END{... printf("\@percentchar.2f",r); } ' #1; "} }} \makeatother 我遇到语法错误,因为\@percentchar.2f周围的引号未传递。我如何修复此问题?请提前感谢!尝试使用一个变量--类似于以下内容: \
\makeatletter
\newcommand{\calcCorrelation}[1]{{\input{|"awk '
{
...
}
END{...
printf("\@percentchar.2f",r);
}
' #1;
"}
}}
\makeatother
我遇到语法错误,因为\@percentchar.2f周围的引号未传递。我如何修复此问题?请提前感谢!尝试使用一个变量--类似于以下内容:
\makeatletter
\newcommand{\calcCorrelation}[1]{{\input{|"awk -v pc="\@percentchar.2f" '
{
...
}
END {
...
printf(pc,r);
}
' #1;
"}
}}
\makeatother
警告:我不知道在这种情况下,您是否需要/想要\@percentchar.2f左右的引号?您是否绝对确定需要从latex进入shell来运行awk命令?latex提供了一个很好的“计算”源“行动。你只需要搜索一下就可以了。是的,我肯定这一点。AWK Shell脚本处理实验数据,实验数据存储在csv文件中(路径通过参数#1传递)。我认为Latex无法进行这些计算,它不是为此而构建的。如果您的
awk
脚本不是动态的,请将其写入一个文件,只需使用awk-f scriptname
调用即可。该脚本未列为特殊字符,但“终止字符串”。所以这可能是可行的:printf(“'”\@percentchar.2f“'”,r)代码>