awk 코드는 두 개의 배열을 읽습니다.

awk 코드는 두 개의 배열을 읽습니다.

두 개의 배열이 있습니다. 배열 1을 한 번에 한 행씩 반복해야 합니다. 배열 1의 각 행에 대해 배열 2에는 거래 기록이 있습니다. 두 배열 간에 공유되는 기본 키와 일치하는 배열 1의 각 행에 대한 트랜잭션 레코드를 인쇄해야 합니다. 그러므로 은행 계좌처럼 생각하십시오. 배열 1에는 6개의 계정이 있고 배열 2에는 각 계정의 모든 트랜잭션이 포함되어 있습니다. 배열 1의 계정 정보를 파일에 인쇄하려면 어떻게 해야 합니까? 먼저 개행 문자와 해당 계정의 모든 거래가 옵니다. 두 파일 모두 계좌 번호를 사용하여 기록을 일치시킵니다. Bash 스크립트에서 "awk"를 사용해야 합니다.

답변1

awk나 bash가 내 작업을 수행할 수 있는지 잘 모르겠습니다. 나는 아직도 두 가지를 모두 배우려고 노력하고 있습니다. 어떤 방향이든 감사합니다. 쉘 스크립트를 사용해야 하므로 bash나 awk 중 하나를 사용해야 합니다. 메인 루프 키에 대한 조건부 검사와 함께 중첩된 for 루프가 두 번째 루프가 트랜잭션을 인쇄할지 여부를 결정할 것이라고 생각합니다.

for (key in Authorization_Arr)
            {   
                print "SASH1" Authorization_Arr[key] > "output.csv"

                for (i in LineItem_Arr)
                {
                    split(LineItem_Arr[i], a, ", ")
                    if (a[2] == key) 
                    {
                        print LineItem_Arr[i] > "output.csv";
                    }

                }
            }

관련 정보