공통 필드가있는 두 개의 파일이 있습니다. 두 파일을 공통 필드로 병합하고 linux 명령에서 awk
을 사용하여 병합 된 파일을 다른 파일에 쓰려고합니다. 파일 2awk를 사용하여 두 파일을 병합하고 출력을 작성하십시오.
412234$sum$file2$address$street
413233$sum2$file32$address2$street2$path
414444$$$$
이 샘플 파일 $
로 구분되며 출력도 $
에있을 것입니다 파일을 병합
412234$name1$value1$mark1
413233$raja$$mark2
414444$$$
파일 1
. 또한이 행에는 빈 필드가 있습니다. 나는join
를 사용하여 스크립트 시도 : join -t "$" out2.csv out1.csv |sort -un > file3.csv
을하지만 무슨 일이 있었 총 수의 불일치가있다. awk
으로 시도
:
myawk.awk
#!/usr/bin/awk -f
NR==FNR{a[FNR]=$0;next} {print a[FNR],$2,$3}
나는 또한 너무 많은 시간을 할애했다 그것을
awk -f myawk.awk out2.csv out1.csv > file3.csv
을 달렸다. 응답 없음. 여기
out2.csv
마스터 파일이며 우리는 당신이 저를 다른 파일로 병합 된 파일을 작성하는 데 도움이 시겠어요 out1.csv
과 비교해야?
조인을 사용하려면 입력 파일이 이미 정렬해야합니다. 'sort -n'으로 파이핑한다는 것은 아마도 그것들이 정확하게 정렬되지 않았 음을 의미합니다. 사전 적으로 (수치 적으로는 아님) 정렬을 시도한 다음 조인을 사용하고 결과를 숫자로 정렬하십시오. –