Я собрал этот сценарий оболочки, чтобы сделать две вещи:
Это работает, но мне нужен лучший способ сделать это. Я специально хочу найти альтернативный метод для взрыва каждой строки в массив. Использование аргументов командной строки не похоже на путь. ЛЮБЫЕ КОММЕНТАРИИ ПРИВЕТСТВУЮТСЯ.
# Takes :: separated file as 1st parameters
SOURCE=$1
# create csv target file
TARGET=${SOURCE/dat/csv}
touch $TARGET
echo #userId,itemId > $TARGET
IFS=","
while read LINE
do
# Replaces all matches of :: with a ,
CSV_LINE=${LINE//::/,}
set -- $CSV_LINE
echo "$1,$2" >> $TARGET
done < $SOURCE