You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将find命令输出的YAML文件名拼接为指定格式字符串?

实现方法

以下几种方式可以将find命令的输出转换为你需要的格式:

方法1:利用find自带的printf参数

直接通过find的-printf选项格式化输出,这是最高效的方式:

find ./ -type f -name "*.yaml" -printf "-f %p "

如果在意末尾多余的空格,可以通过sed去除:

find ./ -type f -name "*.yaml" -printf "-f %p " | sed 's/ $//'

方法2:用awk处理输出

如果需要用awk实现,可以通过printf逐个拼接,再处理末尾空格:

find ./ -type f -name "*.yaml" | awk '{printf "-f %s ", $0}' | sed 's/ $//'

或者完全用awk内部处理,避免额外管道:

find ./ -type f -name "*.yaml" | awk '{arr[++n] = "-f " $0} END{for(i=1;i<=n;i++) printf "%s%s", arr[i], (i==n?"":" ")}'

方法3:Bash数组拼接

在Bash环境下,也可以把文件路径存入数组后循环拼接:

files=($(find ./ -type f -name "*.yaml"))
output=""
for file in "${files[@]}"; do
    output+="-f $file "
done
echo "${output% }"

内容的提问来源于stack exchange,提问作者DarkLeafyGreen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 21:03:14