for 루프 및 추가 배열 목록

for 루프 및 추가 배열 목록

저는 Bash 스크립팅을 처음 접했고 현재 해결 방법을 모르는 for 루프, 배열 및 변수 할당/대체와 관련된 작은 문제에 직면하고 있습니다. 왜냐하면 나는새로운, 나는 그것을 찾는 방법조차 모릅니다. 누구나 할 수 있는 말이지만 이것은 숙제나 그런 것이 아님을 강조합니다. 단지 나중에 처리하기 위해 많은 데이터를 재구성하면 어떻게든 될 것 같습니다.영리한동시에 Bash를 배우십시오.

배경: 폴더1, 폴더2, 폴더3이라는 세 개의 하위 디렉터리가 포함된 디렉터리가 있습니다. 각 하위 디렉터리에는하나data.txt 파일. 각 data.txt 파일에는 세 개의 열과 고정된 수의 행이 있습니다.

표적: 하위 디렉터리를 반복하고 다음을 수행하는 Bash 스크립트를 내 홈 디렉터리에서 시작하고 싶습니다.

  1. 들어가서 data.txt에 액세스합니다.
  2. 각 열을 해당 배열로 읽어옵니다 arr1. arr2( arr3이러한 열은 다음 하위 디렉터리에 들어갈 때 지워지거나 재설정됩니다.)
  3. , , ..., arr2[0]로 읽 습니다 . 의 데이터는 유사한 구조를 따릅니다 . 과거 반복의 데이터를 유지 하고 원하는 출력 배열을 형성합니다. 새 디렉터리를 검색할 때마다 데이터가 해당 디렉터리에 추가됩니다.earr1arr2[1]earr2arr2[j-1]earr$jarr3earr$j

이것은 지나치게 복잡해 보이지만 이것이 제가 다루어야 할 데이터 구조입니다. 대부분의 경우 나는 효과적인 해결책을 찾았습니다(물론 최선의 해결책은 아닐 수도 있습니다).

질문:어떤 이유로 식별할 수 없는지, earr$j+=(${arr2[j-1]})루프에서처럼 추가하려고 할 때마다 모든 종류의 오류가 발생합니다(그리고 다양한 변형을 시도했습니다) j. 나에게 문제를 일으키는 조각은 다음과 같습니다. 누구든지 문제를 지적하고 가능하다면 해결 방법의 실제 사례를 제공해 주시면 감사하겠습니다.

문제가 있는 for 루프:

for j in $(seq 1 $number_of_lists); do echo "(${arr2[j-1]})"; earr$j+=(${arr2[j-1]}); echo "(${arr3[j-1]})"; done

특히 저는 earr$j+=(${arr2[j-1]})이 부분이 고민이에요. 이것은 내 오류 출력입니다.

./next.sh: line 33: syntax error near unexpected token "${arr2[j-1]}'' 그리고 ./next.sh: line 33: earr$j+=('${arr2[j-1]}').

어떤 조언이라도 미리 감사드립니다.

관련 정보