Como anexar string com caracteres especiais a cada linha usando AWK
Oct 03 2020
Tenho um csv e, para cada linha do csv, preciso adicionar novas colunas. Uma das colunas é um carimbo de data / hora e parece estar interrompendo a operação.
Example:
col1,col2,col3
1,2,3
4,5,7
After
col1,col2,col3,col4,col5,col6
1,2,3,01-01-2020 01:01:01,name,class
4,5,7,01-01-2020 01:01:01,name,class
Eu usei Como adicionar nova coluna com cabeçalho ao csv com awk para referência.
ORIG_FILE='sample.csv'
NEW_FILE='new_sample.csv'
values="01-01-2020 01:01:01,name,class"
awk -v d=$values -F"," 'BEGIN {OFS = ","} {printf("%s%s",$0,FNR>1?d RS:"col4,col5,col6" RS)}' $ORIG_FILE > $NEW_FILE
Eu sou muito novo no uso do bash e estou tentando descobrir isso.
Qualquer ajuda muito apreciada.
Respostas
4 EdMorton Oct 04 2020 at 01:17
orig_file='sample.csv'
new_file='new_sample.csv'
values='01-01-2020 01:01:01,name,class'
awk -v d="$values" 'BEGIN{FS=OFS=","} { print $0, (NR>1 ? d : "col4,col5,col6") }' "$orig_file" > "$new_file"
Sempre cite suas variáveis de shell e não use todas as letras maiúsculas para nomes de variáveis de shell não exportados.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino