행 파일의 값을 열 파일의 해당 값으로 이동하여 두 파일을 병합하려면 어떻게 해야 합니까?

행 파일의 값을 열 파일의 해당 값으로 이동하여 두 파일을 병합하려면 어떻게 해야 합니까?

두 개의 파일이 있습니다. 첫 번째 파일에는 행이 있고 두 번째 파일에는 열이 있습니다. 행 파일의 각 값을 열 파일의 동일한 값으로 이동한 다음 각 빈 셀 앞에 있는 각 값을 바꾸어 두 파일을 병합하고 싶습니다. x 값과 y 값이 있습니다. 요컨대, 나는 그 입력 파일을 원합니다

row file
6  8  2  3  7  6  ...     

column file
1
2
3 
4  
5   
6
7
8  
.
.

결합 후 결과는 다음과 같아야합니다

output file
1   x  x  x  x  x  x  ....     
2   x  x  2  x  x  x  
3   x  x  y  3  x  x   
4   x  x  y  y  x  x  
5   x  x  y  y  x  x  
6   6  x  y  y  x  6  
7   y  x  y  y  7  y   
8   y  8  y  y  y  y  
9   y  y  y  y  y  y   
....   
.... 

답변1

하나의 파일을 메모리에 로드하고 메모리의 값을 기반으로 다른 파일을 처리하면 됩니다.

속이지 말고 먼저 직접 시도해 보세요. 조금 시도해도 작동하지 않으면 코드에 대해 문의하십시오. 직접 시도하지 않으면 아무것도 배울 수 없습니다.

여기...시작하겠습니다. Bash에서 배열을 만드는 방법은 다음과 같습니다.

# with while read
array=()
while read line; do 
    array+=("$line")
done < somefile

# the other way... sometimes necessary
IFS=$'\n\t ' # example IFS... in this case I am setting the normal default. For data that includes spaces, you exclude space here. If your data contains all 3, you have to use while read.
array=()
for line in $(cat somefile); do 
    array+=("$line")
done

# and here's looping over it
for n in "${array[@]}"; do
    echo "$n"
done

여러 줄의 "스포일러"에 대한 구문을 알아낼 수 없습니다... 따라서 여기에 답변을 인쇄하는 한 줄 스크립트가 있습니다(bash에서).

base64 -d <<<"=="

관련 정보