ls -m 有更多信息吗?

ls -m 有更多信息吗?

我需要以一种可以解析为 json 的方式存储目录信息。

当我执行 ls -m 时,它会给我逗号分隔的值,但没有用户/组/大小信息。

bash-3.2$ ls -mp
100CANON/, 2009-11-27_1540.swf, 2009-11-27_1546.swf, 2009-11-27_1551.swf, 2009-11-30_0149.png, 429355_1.sql,
429355_1.sql.zip, About Stacks.pdf, Acrobat.com.app/

ls -l 解析有问题。

您是否知道我可以获取以逗号(或任何其他内容)分隔的值形式的 ls -l info?

答案1

您可以使用stat并定义自己的输出格式(参见参数-c)。

例子:

$ stat -c '{"name": "%n", "size": "%s"}' *
{"name": "directory1", "size": "4096"}
{"name": "directory2", "size": "6"}
{"name": "file1", "size": "2070"}
{"name": "file2", "size": "83013"}

答案2

只需将ls -l 输出与其他命令结合起来,就像这样ls -l | tr ' ' ',' | tr '\n' ','。这样你就应该得到你需要的输出。

相关内容