gpt4 book ai didi

windows - 在awk中转义嵌套的双引号

转载 作者:可可西里 更新时间:2023-11-01 10:31:59 24 4
gpt4 key购买 nike

在 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"这些在批处理文件中也不起作用。

最佳答案

Windows 避免噩梦般的引用规则的标准建议是:

a) 不要从 Windows 调用脚本。安装 cygwin 或类似软件以获得类似 UNIX 的环境,然后从中调用脚本,或者...

b) 不要在 Windows 的命令行中指定脚本文本,而是将其保存在文件中,即将其放入名为 foo.awk 的文件中:

BEGIN { FS="|" }
$4 ~ /JUVENILE/ {sum +=$6}
END {printf "%.3f", sum}

然后以 awk -f foo.awk sourcedata.file 的形式执行它

关于windows - 在awk中转义嵌套的双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51951176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com