여러 파일을 읽고 저장된 배열에서 작업

여러 파일을 읽고 저장된 배열에서 작업

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

관련 정보