Use a função gsub()
para substituição global
$ awk '{gsub(/\"/,"")};1' input.csv
1,2,3,4,9
1,2,3,6,24
1,2,6,8,28
1,2,4,6,30
Para enviar saída para o novo arquivo, use o operador >
shell:
awk '{gsub(/\"/,"")};1' input.csv > output.csv
Sua divisão para a abordagem de matriz também pode ser usada, embora não seja necessária, mas você pode usá-la da seguinte forma:
$ awk '{split($0,a,"\""); print a[2]}' input.cvs
1,2,3,4,9
1,2,3,6,24
1,2,6,8,28
1,2,4,6,30
Observe que nessa questão em particular o padrão geral é que aspas estão no início e no final da linha, o que significa que também podemos tratá-la como separador de campo, onde o campo 1 é nulo, o campo 2 é 1,2,3,4
e o campo 3 também é nulo. Assim, podemos fazer:
awk -F '\"' '{print $2}' input.csv
E também podemos tirar substring de toda a linha:
awk '{print substr($0,2,length($0)-2)}' quoted.csv
Falando em eliminar primeiro e último personagem, há um post inteiro em stackoverflow sobre isso com outras ferramentas, como sed
e shell POSIX.