두 개의 파일이 있습니다. 첫 번째 파일에는 행이 있고 두 번째 파일에는 열이 있습니다. 행 파일의 각 값을 열 파일의 동일한 값으로 이동한 다음 각 빈 셀 앞에 있는 각 값을 바꾸어 두 파일을 병합하고 싶습니다. 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 <<<"=="