首页 > 解决方案 > Zsh 从文件中读取填充关联数组导致奇怪的分离

问题描述

我有一个由 find Path -printf '%s\t%p\n' > textfile 当我生成的文本文件

 declare -A DICT;
 while IFS='\t' read -r SIZE PFAD
 do DICT[$SIZE]=$PFAD
 done < ../Listen/textfile

DICT 的内容让我吃惊:

print "${(@k)DICT}" 表明,DICT 的键不仅仅是文件的 SIZE,而是由 SIZE\tRoot_of_PFAD/2_letters_of_following_directory 组成。这些值包含该行的其余部分 = 带有文件名的路径的其余部分。在我看来,好像 read 用 '\t+9 characters' 分隔行

标签: zshassociative-arrayassociative

解决方案


IFS=$(printf '\t')

似乎已经成功了。@Gairfowl 暗示了正确的方向。我没有明白,路径中的第十个字符是 t。非常感谢!


推荐阅读