【问题标题】:Does jq have a filepath length limit?jq 是否有文件路径长度限制?
【发布时间】:2018-09-28 00:25:00
【问题描述】:

(操作系统为 Windows 7 Professional。jq 为 1.5 版。)

我一直在使用 jq 来自动美化一些 JSON 文件(使用 Python)。在我看来,在尝试确定为什么 jq 在使用长度为 28 的文件路径字符串时静默失败,或者如果文件路径字符串长度为 29 或更长时停止工作,为什么它不起作用。

例如在cmd 上(值得指出的是,我做了一种快捷方式,以便jq 调用jq-win64.exe,并直接测试了后者,所以这不是问题的根源):

C:\jq>jq . 123456789012345678901234567

显示文件的美化内容;

C:\jq>jq . 1234567890123456789012345678

什么都不显示;和

C:\jq>jq . 12345678901234567890123456789

导致“jq-win64.exe 已停止工作”窗口。

(我还在文件夹中的 JSON 文件上对此进行了测试;共同点是输入字符串的长度为 28 或更长,包括斜线会失败。)

这是一个错误吗?如果不是,我能做些什么来解决它好吧,我承认这是一个愚蠢的问题,我可以通过将内容复制到基本文件夹中的临时文件来解决它,美化它,然后然后将其保存回我想要的任何位置。更重要的问题:这是我可以采用的最佳解决方法吗?

【问题讨论】:

  • 幸运的是,它可以通过将您的输入输入 jq 来解决。正是输入文件的打开方式导致了 Windows 中的问题。
  • @JeffMercado - 谢谢,我更喜欢这个解决方案,而不是我想出的。

标签: windows jq pathname


【解决方案1】:

在 jq 1.5 中有一个特定于 Windows 的错误(参见例如https://github.com/stedolan/jq/issues/1094)。它是在 jq 1.5 发布后不久修复的。

要获取适用于 Windows 的 1.5 后 .exe,请参阅以下任一内容:

【讨论】:

  • 感谢您的意见。就个人而言,我更喜欢使用“官方”版本,但我至少测试了 1.5 后的版本并确认它可以工作
猜你喜欢
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 2011-04-23
  • 1970-01-01
  • 2011-05-29
  • 1970-01-01
  • 2015-10-13
  • 1970-01-01
相关资源
最近更新 更多