Простое преобразование данных с помощью AWK

Итак, теперь работает!

Проблема

В Debian Stretch при установке Mysql с помощью

sudo apt-get install mysql-server

он устанавливает вместе Mysql и MariaDB.. и Workbench не будет... Workbench будет работать только с Mysql без MariaDB.

Решение

Я думаю, что лучше всего удалить ВСЕ из Mysql и Workbench и начать с нуля.

  • Во-первых, bevor и очень важно , вам нужно сохранить вашу конфигурацию (Tabelle,.. )из файла Mysql (я говорю вам это, потому что я создаю свой Tabelle с помощью phpmyadmin, и phpmyadmin сохраняет Tabelle в файле Mysql.. я этого не знал, и теряю все свои Tabelle....)

  • Мы должны потерять Mysql, вы должны знать, какая версия Mysql у вас есть, с этим, вы это знаете,$ mysql --version

Я приду,

mysql Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using EditLine wrapper

У меня есть Mysql 5.7, теперь я его потеряю,

$ sudo apt-get remove --purge --auto-remove mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7

Поскольку в репозитории Debian Stretch Mysql находится вместе с MariaDB, мы ищем альтернативу, которую мы называем MySQL APT Repository . Мы загружаем ее из здесь .

Скачать это,

mysql-apt-config_0.8.13-1_all.deb

и установите его с помощью dpkg ,

sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb

он открывает окно,enter image description here

на Mysql Server & Cluster.... , дайте Enter, вы выбираете один из них, я выбираю из Mysql 5.7.., и возвращаюсь к этому окну. Дайте войти в маленькое ок , НЕ до большого ОК !.

enter image description here

Сейчас обновим,

$ sudo apt update

и установите его с помощью

$ sudo apt install mysql-server

Теперь установите mysql -5.7 из репозитория MySQL APT , а не из репозитория Debian, поэтому только Mysql без MariaDB.

Теперь загрузите и установите Workbench с

$ sudo apt -y update

$ sudo apt -y full upgrade

$ sudo apt -y install mysql-workbench

Теперь открываем Workbench,У меня есть Debian Stretch Mate.., Вверху слева, в Applications + Development, у нас есть Workbench..

Когда все в порядке, он запустится без предупреждения....

Извините за мой английский, надеюсь, вы меня понимаете...

4
01.07.2021, 16:19
2 ответа
$ cat tst.awk
BEGIN { FS=OFS="," }
NR==1 {
    print $1
    split($0,tags)
    next
}
{
    for (i=2; i<=NF; i++) {
        print $1, tags[i], $i
    }
}

$ awk -f tst.awk file
Type
1,Fac1,0.1
1,Fac2,0.1
1,Fac3,0.1
2,Fac1,0.2
2,Fac2,0.2
2,Fac3,0.2
3,Fac1,0.3
3,Fac2,0.3
3,Fac3,0.3
7
28.07.2021, 11:21

С perlи разделением строк запятой

perl -sF, -lane '
  $.==1 && do{
    print shift @F;
    @h = @F; next;
  };
  my $i;
  print $F[0], splice(@F,1,1), $h[$i++] while @F > 1;
' -- -,=, file

Выход:-

Type
1,0.1,Fac1
1,0.1,Fac2
1,0.1,Fac3
2,0.2,Fac1
2,0.2,Fac2
2,0.2,Fac3
3,0.3,Fac1
3,0.3,Fac2
3,0.3,Fac3

С помощью Python и понимания списков в сочетании с модулем itertools

python3 -c 'import itertools as it, sys
ifile = sys.argv[1]
fs,rs = ",","\n"
ofs,ors = fs,rs
with open(ifile) as f:
  for nr,l in enumerate(f,1):
    L = l.rstrip(rs).split(fs)
    if nr == 1:
      print(L.pop(0))
      H = L
    else:
      print(*[ofs.join([a,*b])
      for a,b in zip(it.repeat(L.pop(0)),zip(L,H))],sep=ors)
' file

GNU sed в расширенном режиме регулярных выражений:-

sed -Ee '
  1{
    s/,/\n/;P
    s/.*\n//
    h;d
  }
  /\n/!G
  s/,/&\n/2
  s/^(([^,]*,).*)\n(.*\n)([^,]*),/\1\4\n\2\3/
  /\n.*\n/!s/\n/,/
  P;D
' file
2
28.07.2021, 11:21

Теги

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