複数のファイルを読み込んで保存した配列で作業する

複数のファイルを読み込んで保存した配列で作業する

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

おすすめ記事