Bash
讀取多個文件並對儲存的數組進行操作
我有 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 循環中處理它們。
將每個完整的行儲存在相應的數組中
用不同的方法很容易:
mapfile LinkA < "$LinkP"
查看
help mapfile
更多選項,例如-t
從每行中刪除尾隨分隔符。