gpt4 book ai didi

regex - Bash 正则表达式从数组元素中去除引号

转载 作者:行者123 更新时间:2023-12-04 04:47:13 28 4
gpt4 key购买 nike

我正在尝试找到一种方法来从我正在编写的脚本中的数组的所有元素中删除双引号。到目前为止,我发现的所有示例要么使用 grep、awk、sed 对整个文件执行此操作,要么不使用 bash。

这是我到目前为止的代码块:

vol_filter=( $(aws ec2 describe-volumes --filter "name=attachment.instance-id, values=instance-id" | jq '[.Volumes[] | {VolumeId}]') )
vol_id_array=( )
regex=[[:alpha:]][-][[:xdigit:]]
for i in ${vol_filter[@]}
do
if [[ $i =~ $regex ]]
then
vol_id_array+=( $i )
echo ${vol_id_array[@]}
fi
done

我现在从运行脚本得到的输出是

“foo-bar” “herp-derp”

我想要的是

foo-bar herp-derp

最佳答案

只需将该作业更改为

vol_id_array+=( "${i//\"}" )

这个 parameter expansion将导致 $i 在添加到数组时被扩展而没有任何引号。

关于regex - Bash 正则表达式从数组元素中去除引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18000348/

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