gpt4 book ai didi

linux - Bash - 将字符串拆分为数组,保留空格

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:50:45 24 4
gpt4 key购买 nike

我正在尝试使用空格以外的定界符将字符串拆分为数组,同时保留空格。

例如,如果我运行:

files=$(echo "foo.txt:bar.txt:my story.txt" | tr ":" "\n")
for f in $files; do
echo $f
done

我得到:

foo.txt
bar.txt
my
story.txt

如何保留空格?

最佳答案

files=$(cmd) 不是数组赋值。这是一个字符串赋值(cmd 的输出被分配给一个常规变量 files)。

我建议使用 read -a 来拆分字符串,因为 glob 不会成为问题:

IFS=: read -ra files <<< "foo.txt:bar.txt:my story.txt"

for f in "${files[@]}"; do
echo "$f"
done

关于linux - Bash - 将字符串拆分为数组,保留空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48104826/

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