Explode to Array

Я собрал этот сценарий оболочки, чтобы сделать две вещи:

  1. Изменить разделители в файле данных (':: ' на ',' в данном случае)
  2. Выберите нужные столбцы и добавьте их в новый файл

Это работает, но мне нужен лучший способ сделать это. Я специально хочу найти альтернативный метод для взрыва каждой строки в массив. Использование аргументов командной строки не похоже на путь. ЛЮБЫЕ КОММЕНТАРИИ ПРИВЕТСТВУЮТСЯ.

    # 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
0
задан Brian Tompsett - 汤莱恩 21 January 2016 в 20:13
поделиться