Estou usando o shell bash. Eu tenho um arquivo CSV no qual os tokens de cada linha são separados por vírgulas. Quero pegar a segunda e a terceira colunas e formar uma nova string a partir delas (uma instrução SQL). Achei que poderia usar o awk para esse fim, então tentei...
localhost:mydir davea$ awk -F ',' -v OFS=',' "REPLACE INTO my_table (ID, NAME, HOURS) VALUES ('$2', '$2', '$3');" types.csv
awk: syntax error at source line 1
context is
REPLACE INTO my_table >>> (ID, <<<
awk: bailing out at source line 1
mas como você pode ver, estou recebendo um erro. Estou deixando algo de fora? Como faço para formar minha nova string de cada linha no arquivo CSV?
Colocar aspas simples dentro de uma única string entre aspas é realmente tedioso. Aqui, estou passando uma aspa simples para a variável awk "q". Também estou tentando cuidar da injeção de SQL .
Pode não ser a solução mais eficiente, mas deve funcionar: