Я хотел бы объединить файлы csv по горизонтали, например
cat file1.csv
val1;val2;
cat file2.csv
val3;val4
, и получить следующий результат:
val1;val2;val3;val4
Команда вставки идеально подходит, и это работает:
paste file1.csv file2.csv > file3.csv
Я хочу сделать это в скрипте. На практике у меня есть файлы, сгруппированные по префиксу, и я хотел бы сделать следующее:
for (( i = 0; i < "${#group_by[@]}"; i++ )); do
echo "sorting results of ${group_by[$i]} commands"
find $DEST_PATH -type f -name "sorted_${group_by[$i]}.csv" -exec paste '{}' > $DEST_PATH/RESULT.csv \;
#done
done
Итак, файлы csv объединяются по префиксу.
Это тоже не работает:
find . -type f -name "prefix*.csv" | xargs -I{} paste '{}' > result.csv
потому что файлы объединяются по вертикали:
cat result.csv
val1;val2;
val3;val4;
Как этого можно достичь аналогичным образом?