создать имя файла на основе данных столбца CSV с помощью gawk

Как указано в сообщении об ошибке, updateне принимает никаких аргументов:

sudo apt-get update

— это подходящая команда для обновления индексов вашего репозитория.

Чтобы исправить неисправную установку, используйтеinstall:

sudo apt-get install -f
1
09.07.2020, 17:56
1 ответ

measurements.awk:

BEGIN{FS=";";OFS=","}
{
    for (X=3;X<=NF;X++){
        if (NR==1){name[X]=$X}
        print $1,$2,$X > name[X]".csv"
    }
}

Обратите внимание, что NR==1верно только для заголовка. Поэтому мы сохраняем имена измерений в массиве name, а затем приступаем к печати каждого набора [time,area,measurement]в соответствующем файле.

$ gawk -f measurements.awk file
$ cat file
time;area;temperature;pumpmotor;diameter
1;2;3;4;5
6;7;8;9;10
$ cat diameter.csv 
time,area,diameter
1,2,5
6,7,10
$ cat temperature.csv 
time,area,temperature
1,2,3
6,7,8
$ cat pumpmotor.csv 
time,area,pumpmotor
1,2,4
6,7,9
3
18.03.2021, 23:20

Теги

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