bash脚本修改数组元素并写入新数组



我想要一个bash脚本从array1中获取元素,并在array2中以不同的方式输出它们。

array1——

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)

array2——

array2=(s3://root/sub1/sub2/2022-10-22/ s3://root/sub1/sub2/2021-09-13/ s3://root/sub1/sub2/2020-08-15/ s3://root/sub1/sub2/2022-09-22/ s3://root/sub1/sub2/2021-08-07/ s3://root/sub1/sub2/2020-02-03/ s3://root/sub1/sub2/2022-08-22/ s3://root/sub1/sub2/2021-07-17/ s3://root/sub1/sub2/2022-07-22/)

所以我基本上想从array1中获取url并附加它后面的每个日期并作为唯一条目存储在array2中

我的思考过程如下-通过array1循环每个url条目写入新数组,并将日期附加到该url后面的array1。然而,我不确定如何在bash中做到这一点。

您正在寻找这样的内容:

array2=()
for elem in "${array1[@]}"; do
if [[ $elem = s3:* ]]; then
pfix=$elem
else
array2+=("$pfix$elem")
fi
done

最新更新