値を「」で区切るコードがあり、「to_date」部分に問題があります。これを達成する方法についてのアイデアがあります。
入力する
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'
出力
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')
答え1
持っている唯一の「偽」の正数が時間とMM / DD / YYYY文字列の間にある場合は、キャリッジリターンを介して残りのコンマを変更する前に、そのコンマを別の文字に変換できます。
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'
後で変更を元に戻すには、次の手順を実行します。
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"