gpt4 book ai didi

bash - 将字符串分成两级

转载 作者:行者123 更新时间:2023-12-01 10:16:57 24 4
gpt4 key购买 nike

我有以下字符串

my_str="A:Apple|B:Ball|C:Cat"

我想回应以下内容

A for Apple
B for Ball
C for Cat

我使用的代码是

IFS="|"
delimiter=':'
my_str="A:Apple|B:Ball|C:Cat"
for pair in ${my_str}; do
#echo "${pair}"
s=$pair$delimiter
var1=${s%%"$delimiter"*}
var2=${s#*"$delimiter"}
echo "${var1} for ${var2}"
done

但是我得到的输出是

A for Apple:
B for Ball:
C for Cat:

谁能帮我去掉最后附加的额外分隔符?

最佳答案

bash的read提供了一个选项(-d)用于自定义行分隔符,可以和IFS结合使用。

while IFS=':' read -r -d '|' k v; do
printf '%s for %s\n' "$k" "$v"
done <<< ${my_str%|}'|'

关于bash - 将字符串分成两级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60721049/

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