Eu tenho o GNU date
e, portanto, as opções de linha de comando são diferentes para mim. Mas seu problema parece ser a sintaxe do awk: Você não pode usar a construção do sub-processo shell $(...)
dentro de scripts awk. Você precisa da função system()
, que recebe uma string. Portanto, você precisa construir um comando shell válido em uma string awk que pode ser passada para o sistema dentro do script awk.
Algo parecido com isto:
awk -F "," 'BEGIN{ OFS="," } {$14=system("date -jf \"%m/%d/%Y %H:%M:%S %p\" \""$1"\" \"+%s\""); print}' mycsv.csv > test
ou para melhor readablility
awk -F "," '
BEGIN{ OFS="," }
{
$14 = system("date -jf \"%m/%d/%Y %H:%M:%S %p\" \"" $1 "\" \"+%s\"");
print
}' \
mycsv.csv > test