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



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

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

假设我有以下目录和文件结构:

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 中非常简单的事情吗?

一种方式:

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

最新更新