如何使用 IFS 从文本文件创建多个数组?

如何使用 IFS 从文本文件创建多个数组?

假设我有一个文本文件filename.txt

cat filename.txt
abc#123
def#456

现在我想以创建两个数组的方式使用 IFS,例如:

source=(abc def)
dest=(123 456)

创建两个单独的数组的逻辑是什么?

答案1

您可以将输入文件重定向到while/read循环并将IFS值设置为#来分割行内容。应该适用于任何bash/kshzsh外壳。

while IFS=# read -r s d; do
    source+=( "$s" )        
      dest+=( "$d" )
done < filename.txt

相关内容