как разделить значения с помощью запятой в качестве разделителя

у меня есть код, который разделяет значения, разделенные знаком "," но возникла проблема с частью с "to_date". Любая идея о том, как я могу этого добиться.

INPUT

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'

OUTPUT

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
23.05.2017, 12:37
1 ответ

Если единственное «ложное» положительное значение, которое у вас есть, — это значение между часом и строкой ММ/ДД/ГГГГ, вы можете преобразовать эту запятую в другой символ перед изменением остальных запятых с помощью возврата каретки, я имею в виду:

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"
0
28.01.2020, 05:12

Теги

Похожие вопросы