tenho um código que separa valores delimitados por "," mas estou tendo problemas com a parte com "to_date". Alguma ideia de como posso conseguir isso.
ENTRADA
8363892,14932126,24,'ALL','Staff',to_date('04/17/2017 00:00:00','MM/DD/YYYY) HH24:MI:SS'),to_date('05/24/2017 23:59:59','MM/DD/YYYY HH24:MI:SS'
SAÍDA
8363892
14932126
24
'ALL'
'Staff'
to_date('04/17/2017 00:00:00','MM/DD/YYYY) HH24:MI:SS')
to_date('05/24/2017 23:59:59','MM/DD/YYYY HH24:MI:SS')
Responder1
Se o único positivo "falso" que você está tendo é aquele entre a hora e a string MM/DD/AAAA, você pode converter essa vírgula em outro caractere antes de alterar o restante das vírgulas com um retorno de carro, quero dizer:
echo "8363892,14932126,24,'ALL','Staff',to_date('04/17/2017 00:00:00','MM/DD/YYYY) HH24:MI:SS'),to_date('05/24/2017 23:59:59','MM/DD/YYYY HH24:MI:SS'" | sed -e "s/','MM/';'MM/g" | tr ',' '\n'
Se você quiser reverter as alterações depois disso:
echo "8363892,14932126,24,'ALL','Staff',to_date('04/17/2017 00:00:00','MM/DD/YYYY) HH24:MI:SS'),to_date('05/24/2017 23:59:59','MM/DD/YYYY HH24:MI:SS'" |
sed -e "s/','MM/';'MM/g" |
tr ',' '\n' |
sed -e "s/';'MM/','MM/g"