当前位置: 首页 > 面试题库 >

将bash`ls`输出转换为json数组

谭健柏
2023-03-14
问题内容

是否可以使用bash脚本将的输出格式化ls为json数组?为了成为有效的json,目录和文件的所有名称都必须用双引号引起来,并用逗号分隔,并且整个内容都必须用方括号括起来。即转换:

jeroen@jeroen-ubuntu:~/Desktop$ ls
foo.txt bar baz

[ "foo.txt", "bar", "baz" ]

编辑:我非常喜欢可以在所有Linux服务器上使用的东西;因此,宁可不依赖python,而要使用纯bash解决方案。


问题答案:

使用perl作为编码器;保证它不会是越野车,到处都是,而且有了管道,它还是相当干净的:

ls | perl -e 'use JSON; @in=grep(s/\n$//, <>); print encode_json(\@in)."\n";'


 类似资料:
  • 问题内容: 我有一个Bash脚本。它以JSON获取数据。我需要将JSON数组转换为Bash数组。 例 在Bash中,我想要获得这样的值。 问题答案: 如果您想要键和值,并且基于如何在JQ中将json对象转换为key =value格式,则可以执行以下操作: 以更通用的方式,您只需将语法提供给,就可以将值存储到这样的数组中: 然后您可以遍历像这样的值: 对于此给定的输入,它将返回:

  • 问题内容: 如何将对象的json数组解析为具有这些对象作为字符串的bash数组? 我正在尝试执行以下操作: 但是回声会打印出线条,而不是特定的对象。对象的格式为: 我需要将其传递给api: 问题答案: 问题在于,仍然仅输出文本行; 您不必将每个数组元素都保留为一个单元。 就是说,只要换行符在任何对象中都不是有效字符, 您仍然可以在单独的行中输出每个对象。 当然,在这种假设下,您可以使用4中的命令来

  • 问题内容: 我有一个包含几个整数的数组。我已经向数组添加了一些值,但是现在我需要通过jQuery的方法将此数组发送到页面。如何将其转换为JSON对象进行发送? 问题答案: 向后兼容的脚本:https : //github.com/douglascrockford/JSON- js/blob/master/json2.js 并致电: 注意: JSON对象现在是大多数现代Web浏览器(IE 8及更高版

  • 我对震动有点陌生,一直在努力进行正确的转变。任何帮助都很感激。这是我的输入数据: 我的目标是创建一个包含所有条目的数组。对于本例,将有2个条目(长度与)相同。数组(键)和(值)是1:1映射的,即它们应该具有相同的长度。 这是预期的输出:

  • 问题内容: myArray是: 我想将其转换为JSON,例如: 我试过了: 但这正在返回: 问题答案: 您的问题是非顺序索引。 Php数组必须具有要编码为JSON数组的索引。 您可以使用array_values重置数组键:

  • 问题内容: 我有一个包含几个整数的数组。我已经向数组添加了一些值,但是现在我需要通过jQuery的方法将此数组发送到页面。如何将其转换为JSON对象进行发送? 问题答案: 并致电: 注意: _JSON对象现在是大多数现代Web浏览器(IE 8及更高版本)的一部分。