我必須合併具有相同標題的多個CSV文件。 我必須保留第一個文件的標題並刪除所有其他文件的標題併合並它們並創建一個主文件。Unix:通過保留第一個文件的標題合併具有相同標題的多個CSV文件
文件1:
Id,city,name ,location
1,NA,JACK,CA
文件2:
ID,city,name,location
2,NY,JERRY,NY
輸出:
Id,city,name,location
1,NA,JACK,CA
2,NY,JERRY,NY
目前我使用此代碼:
ls *.csv | xargs -n 1 tail -n+2 > master.csv
此代碼將完美合併文件,但由於我需要第一個文件的頭文件,因此這不會給我頭文件。
我該怎麼辦?
非常感謝。它工作正常。 – user2376510
說明: FNR是到目前爲止在當前文件中讀取的行數(記錄)。 NR是整體讀取的行數。 因此,條件'FNR == 1 && NR!= 1 {next;}'說:「如果它是當前文件的第一行,則跳過這一行,並且總體上至少讀取了一行。這具有打印第一個文件的CSV標題的效果,同時在其他文件中跳過。 –
對於像我這樣的noobs ...我添加'> master.csv'到最後創建所有數據的新文件,而不是運行CLI –