我有 2 个文本文件"${LinkP}"
和"${QuestionP}
.我想读取这些文件并将每个完整行存储在各自的数组中,
IFS=$'\r\n' GLOBIGNORE='*' command eval "LinkA=($(cat "${LinkP}"))"
IFS=$'\r\n' GLOBIGNORE='*' command eval "QuestionA=($(cat "${QuestionP}"))"
现在我想使用 for 循环来操作这些
nLink=${#LinkA[@]} # Size of array
for ((i = 0; i < nLink; i = i + 1)); do
echo $i
Question=${QuestionA[i]}
echo "Question=${QuestionA[i]}"
done
但是,该Question
变量不包含整行,它会在每个空格字符后中断。
如何将每个问题和链接(相应文件中的完整行)存储在这些变量中并在 for 循环内处理它们。
答案1
将每个完整行存储在各自的数组中
使用不同的方法很容易:
mapfile LinkA < "$LinkP"
请参阅help mapfile
参考资料 来了解更多选项,例如-t
从每行中删除尾随定界符。