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

请求编写Bash脚本:将array1元素转换为array2指定格式

Bash脚本实现数组格式转换

需求是将array1中的每个S3路径与后续所有日期(直到下一个S3路径出现)拼接成完整路径,作为array2的独立条目。以下是实现脚本:

#!/bin/bash

# 原始输入数组
array1=(s3://root/sub1/sub2/ 2022-10-22 2021-09-13 2020-08-15 s3://root/sub1/sub2/ 2022-09-22 2021-08-07 2020-02-03  s3://root/sub1/sub2/ 2022-08-22 2021-07-17 s3://root/sub1/sub2/ 2022-07-22)

# 初始化目标数组和当前S3路径变量
array2=()
current_s3=""

# 遍历原始数组的每个元素
for item in "${array1[@]}"; do
    # 判断当前元素是否为S3路径(以s3://开头)
    if [[ "$item" == s3://* ]]; then
        current_s3="$item"
    else
        # 拼接路径并确保末尾带斜杠
        combined_path="${current_s3}${item}/"
        # 将拼接结果加入目标数组
        array2+=("$combined_path")
    fi
done

# 可选:打印转换后的数组验证结果
echo "转换后的array2内容:"
printf '%s\n' "${array2[@]}"

关键逻辑说明

  • 用current_s3变量跟踪当前要拼接的S3路径,遇到新的S3路径时更新这个变量。
  • 遍历过程中,遇到日期元素就和当前current_s3拼接,自动处理不同组的日期对应不同S3路径的情况。
  • 拼接时强制加上末尾的/,保证和目标格式完全一致。

运行脚本后,array2的内容会和需求中的目标格式完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:01:42