Você precisa usar awk
para isso? O utilitário paste
foi projetado exatamente para esse tipo de coisa. Assumindo que array
é uma matriz de shell:
array=(100 200)
printf "%s\n" "${array[@]}" | paste -d, input.csv - > output.csv
O printf
é simplesmente colocar cada membro da matriz em uma nova linha. paste
, em seguida, cola as linhas de entrada de input.csv e -
(isto é, a saída canalizada de printf
), usando uma vírgula como um delimitador.
Se a sua matriz for um arquivo separado por nova linha, por exemplo array.txt:
100
200
então é ainda mais fácil:
paste -d, input.csv array.txt > output.csv