problem이있는 사람의 유용한 awk command을 찾았습니다.CSV 파일을 병합하는 방법에 대해 awk 명령을 설명하십시오.
awk -F, 'NR==FNR{a[$2]=$0;next}$2 in a{ print a[$2],$4, $5 }' OFS=, file1.csv file2.csv
저는 CSV 형식에 맞게 수정하려고하지만 그게 무슨 뜻인지 이해하기가 어렵습니다. 나는 슬프게도 짧은 시간에이 일을해야했고, 너희들이 나를 도울 수 있기를 바란다.
감사합니다.
wrt'오직 NR == FNR은 첫 번째 파일을보고있을 때입니다 .' 또는 두 번째 파일을보고 첫 번째 파일이 비어있는 경우입니다. 사람들을 가끔씩 방문하는 것을 잊지 마세요. –
@EdMorton은'ARGIND == 1'을 사용하고 두 개의 문자를 잃어 버리는 것이 더 좋다. –
@Jidder 그것은 GNU에 특화된 것이지만 예, gawk에게는 좋은 해결책이다. 비 gawks에 대해'FNR == 1 {ARGIND ++}'를 추가 할 수 있지만 빈 파일에서는 실패합니다. 'FILENAME == ARGV [1]'을 사용할 수도 있지만 파일 이름 영역에 변수를 설정하면 실패합니다 (그렇게하지 않는 이유가 하나 더 있습니다!). 'NR == FNR'은 보통 괜찮습니다. 첫 번째 파일이 비어 있으면 실패 할 것이라는 점을 명심하십시오. –