shell 更改数组元素并写入新数组的bash脚本

8xiog9wr  于 2022-11-16  发布在  Shell
关注(0)|答案(1)|浏览(149)

我希望bash脚本从array 1中获取元素,并在array 2中以不同的方式输出它们。
数组1-

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)

数组2-

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/)

因此,我基本上想从array 1中获取url,并附加它后面的每个日期,然后作为唯一条目存储在array 2中。
我的思路是这样的-循环遍历array 1,为每个url条目写入新的数组,并将日期附加到从array 1跟随它的url。

1l5u6lss

1l5u6lss1#

您要查找的内容如下:

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

相关问题