gpt4 book ai didi

bash - 如何在 Unix 上查找所有文件并用逗号分隔结果?

转载 作者:行者123 更新时间:2023-11-29 09:06:59 24 4
gpt4 key购买 nike

我想从标准的 find 输出开始,它是:

path/to/file1.yaml
path/to/file2.yaml
path/to/file3.yaml

对此:

path/to/file1.yaml,path/to/file2.yaml,path/to/file3.yaml

从命令行执行此操作的最简单方法是什么?

我试过这些东西:

find . -path '*.yaml' | sed -e 's/\s/,/g'
find . -path '*.yaml' -print0 | sed -e 's/ /,/g'

但似乎不起作用。

最佳答案

这是一种用逗号分隔文件名的方法:

find . -path '*.yaml' | tr '\n' ','

如果文件名不包含空格,那么另一种方法是:

IFS=, echo $(find . -path '*.yaml')

在评论中,Kojiro建议保留空白的第三种方法:

find . -path '*.yaml' -print0 | tr '\0' ,

因为文件名中允许换行和逗号,所以这种格式可能会导致混淆。仅当您知道文件的命名合理时才应使用此格式。

关于bash - 如何在 Unix 上查找所有文件并用逗号分隔结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29082699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com