以下是myText.txt中的文字:
print("I'm going to write these to the file")
target.write("%s\n%s\n%s\n" % (line1, line2, line3))
a d
b e
c f
和a
与d
分隔,每行以\t
分隔。我想将它们插入两个数组中。
这必须是内容:
\n
到目前为止完成的代码:
arr1=(a b c)
arr2=(d e f)
但我不知道如何将这些值放在数组中。
答案 0 :(得分:1)
让我们首先构建变量:
a=$'a\td\nb\te\nc\tf'
echo "$a"
#Output
a d
b e
c f
使用纯bash拆分为数组:
while IFS=$'\t' read -r var1 var2; do
arr1+=("$var1")
arr2+=("$var2")
done <<<"$a"
declare -p arr1 arr2
#Output
declare -a arr1='([0]="a" [1]="b" [2]="c")'
declare -a arr2='([0]="d" [1]="e" [2]="f")'
使用bash和awk拆分为数组,不带循环:
arr1=($(awk -F'\t' '{print $1}' <<<"$a"))
arr2=($(awk -F'\t' '{print $2}' <<<"$a"))
#Output as before