在Windows Server环境中,无法转义引号内的引号。使用下面的有效批处理代码作为基础:
awk -F "|" "$4 ~ /JUVENILE/ {sum +=$6} END {printf sum}" sourcedata.file
尝试将"%.3f"
包含到printf中时会出现问题。我很困惑,无法在我的环境中正确地避开这些引号。
awk -F "|" "$4 ~ /JUVENILE/ {sum +=$6} END {printf """%.3f""", sum}" sourcedata.file
以上 将在命令提示符下运行,但是 在简单的批处理文件中将无法运行。我还尝试用"%.3f"
和\"%.3f\"
替换\""%.3f\""
,它们在批处理文件中也不起作用。
答案 0 :(得分:1)
Windows避免使用噩梦般的引用规则的标准建议是:
a)不要从Windows调用脚本。安装cygwin或类似工具以获得类似UNIX的环境,然后从中调用脚本,或者...
b)不要在Windows中的命令行上指定脚本文本,而是将其保存在文件中,即,将其放在名为nametable <- data.frame(Name="\n\t\t\t\t\t\t\t\t\t\t\t\t\tMike Moon\n\t\t\t\t\t\t\t\t", stringsAsFactors=FALSE)
的文件中:
foo.awk
,然后以BEGIN { FS="|" }
$4 ~ /JUVENILE/ {sum +=$6}
END {printf "%.3f", sum}