2015-11-15 2 views
1

У меня есть два файла csv и команда для их объединения, но он не печатает первую строку.слить два файла csv, команда wont print first line

File1.csv

1003085,1 
1003144,2 
1003149,2 
1003208,1 
101203,1 

File2.csv

131567,489.564273848 
2759,489.564273848 
33630,58.5245463474 
554915,63.4537671111 
1003085,74.6 
1003144,20.365 
1003149,486.39431 

Требуются output.csv

1003085,1,74.6 
1003144,2,20.365 
1003149,2,486.39431 
1003208,1 
101203,1 

командной Я использую:

awk -F, -v OFS="," 'NR==FNR&&NR>1{a[$1]=$2 FS $3;next} FNR>1{printf "%s%s\n",$0,($1 in a?FS a[$1]:"")}' file2.csv file1.csv > out.csv 

ответ

2

NR>1 означает «Номер записи» Больше (>) 1. Удалите это и FNR>1 (текущий номер файла (из)), и все будет в порядке.

Если вы унаследовали этот код, он, вероятно, предназначен для устранения печати строки заголовка.

IHTH