查找目录列表,以逗号分隔的字符串形式,不带逗号

时间:2018-09-03 17:21:51

标签: bash find comma tr

我正在尝试生成目录列表,以逗号分隔的字符串

find . -type d -mindepth 1 | tr '\n' ','

这给了我一个带逗号的字符串。

dirA,dirB,dirc,

我知道我可以通过sed或awk去除尾随的逗号,但是有没有办法构造findtr来实现这一点?

2 个答案:

答案 0 :(得分:1)

不使用tr,但简单的解决方案是使用paste

find . -type d -mindepth 1 | paste -sd,

答案 1 :(得分:1)

您可以使用parameter expansion摆脱多余的,

list=$(find . -mindepth 1 -type d -printf '%p,'); echo "${list%,}" 

这对于带有换行符的文件名也将正常工作。