zipファイルがあります。解凍すると、それぞれにreport.csvというcsvが含まれるサブフォルダーがいくつかあります。
the_folder/
1234/report.csv
abcd/report.csv
jklm/report.csv
5678/report.csv
各CSVには、次のような列とコンテンツがあります。
almonds, biscuits, cookies, dog_biscuits
123, 321, 333, 444
555, 666, 777, 888
444, 551, 555, 999 (and so on for 75 lines or so)
それらを結合されたCSVファイルに入れたいです。私はこれを行うためにPHPファイルでexecを使用していました:
exec("cat /path/the_folder/*/report.csv > /path/combined.csv");
次に、sedを使用して、重複する「アーモンド、ビスケット、クッキー、dog_biscuits」ヘッダー行を削除します。
次に、サブフォルダーの名前を取得して、combined.csvの行に配置する必要があります。
そのため、CSVに列( "subfolder_name")が追加され、その列にその行の元となったフォルダーの名前が追加されます。何かのようなもの
almonds, biscuits, cookies, dog_biscuits, subfolder_name
123, 321, 333, 444, 1234
555, 666, 777, 888, 1234
444, 551, 555, 999, abcd
333, 333, 111, 222, abcd
111, 222, 444, 333, abcd (etc and so on for 300 lines)
これを行うための最も賢く、最も単純で、最も効率的な方法は何ですか?