查找目录列表作为逗号分隔的字符串,没有尾随逗号
Find list of directories as comma separated string, with no trailing comma
我正在尝试生成目录列表,作为逗号分隔的字符串
find . -type d -mindepth 1 | tr '\n' ','
这给了我一个尾随逗号的字符串。
dirA,dirB,dirc,
我知道我可以添加 sed 或 awk 来去除尾随的逗号,但是有没有一种方法可以构造 find
或 tr
来完成此操作?
不适用于 tr
,但一个简单的解决方案可能是使用 paste
:
find . -type d -mindepth 1 | paste -sd,
你可以使用parameter expansion去掉多余的,
:
list=$(find . -mindepth 1 -type d -printf '%p,'); echo "${list%,}"
即使对于带有换行符的文件名,这也能正常工作。
我正在尝试生成目录列表,作为逗号分隔的字符串
find . -type d -mindepth 1 | tr '\n' ','
这给了我一个尾随逗号的字符串。
dirA,dirB,dirc,
我知道我可以添加 sed 或 awk 来去除尾随的逗号,但是有没有一种方法可以构造 find
或 tr
来完成此操作?
不适用于 tr
,但一个简单的解决方案可能是使用 paste
:
find . -type d -mindepth 1 | paste -sd,
你可以使用parameter expansion去掉多余的,
:
list=$(find . -mindepth 1 -type d -printf '%p,'); echo "${list%,}"
即使对于带有换行符的文件名,这也能正常工作。