Парень, я сделал этот скрипт для генерации XML в Unix
#!/bin/bash
file_in="simple.csv"
file_out="simple.xml"
echo '<?xml version="1.0"?>' > $file_out
echo '<Customers>' >> $file_out
while IFS=$',' read -r -a arry
do
echo ' <Customer>' >> $file_out
echo ' <Name>'${arry[0]}'</Name>' >> $file_out
echo ' <startDate>'${arry[1]}'</startDate>' >> $file_out
echo ' <Country>'${arry[2]}'</Country>' >> $file_out
echo ' </Customer>' >> $file_out
done < $file_in
echo '</Customers>' >> $file_out
Проблема в том, что я не хочу отображать тег страны, когда значение пустое / пустое, и я хочу отформатировать значение startDateбыть YYYY-MM-DD
но ничего не получалось ....
То, что я пробовал, это
#!/bin/bash
file_in="simple.csv"
file_out="simple.xml"
echo '<?xml version="1.0"?>' > $file_out
echo '<Customers>' >> $file_out
while IFS=$',' read -r -a arry
do
echo ' <Customer>' >> $file_out
echo ' <Name>'${arry[0]}'</Name>' >> $file_out
echo ' <startDate>date -d '${arry[1]}'</startDate>' >> $file_out // to make the date
if(arr[2] != '')
echo ' <Country>'${arry[2]}'</Country>' >> $file_out
fi
echo ' </Customer>' >> $file_out
done < $file_in
echo '</Customers>' >> $file_out