ls 可以用目录和文件列以 CSV 格式输出吗?

Sha*_*999 9 command-line files ls

我需要一个递归目录列表,如ls -R,但采用 CSV 格式。

我想要目录和文件名的单独列。

Per*_*uck 14

ls无法以 CSV 格式打印数据,但find在给定自定义输出格式时可以:

find . -type f -printf '%h,%f\n'
Run Code Online (Sandbox Code Playgroud)

%h表示目录部分,%f文件名部分。参见手册,尤其是关于 的部分-printf format

但是,请注意,当您的文件名中包含特殊字符或 a 时,这将无法正常工作,

  • 如果文件名包含`,`,添加引号至少可以避免产生无效的CSV:`-printf '"%h","%f"\n'`。 (5认同)