将bash`ls`输出转换为json数组,并将工作目录打印到JSON数组中的每个元素

时间:2019-10-22 09:09:03

标签: python json bash jq

我想将ls命令的输出显示为JSON数组,并以当前工作目录作为数组中每个元素的前缀。

我设法找到另一个thread,可以帮助我解决问题的第一部分,但希望对前缀部分有所帮助。

可以说我具有以下目录和文件结构:

 Docs (Directory)
 |
 +-- Random file 1
 |    
 +-- Readme (Working Directory)
 |  |  
 |  +-- Readme.md
 |  +-- Readyou.md

当我在自述目录中执行以下命令时(取自我先前链接的线程):

python -c 'import os, json; print json.dumps(os.listdir("."))'

我得到以下输出:

["Readme.md", "Readyou.md"]

我要实现的是上面的结构,,其中工作目录是数组中每个元素的前缀。

["Readme/Readme.md", "Readme/Readyou.md"]

这是可以在bash中非常简单地管理的东西吗?

1 个答案:

答案 0 :(得分:1)

一种方法:

(cd .. && find Readme -print0) | jq -sR 'split("\u0000")[1:]'