.jar-файл не запускается на терминале формы Fedora gnome3

$ awk -v OFS=',' '/^die$/ { print substr(lines,2); lines=""; next } { lines=lines OFS $0 }' file
john doe,555-666-333,john@gmail.com
jane doe,Beverly Hills,444-333-111,jane@gmail.com

То же самое относится и к данным, содержащим запятые (см. конец моего ответа ниже ). Если данные содержат запятые, вы можете использовать это:

awk -v OFS=',' '
    /^die$/ { print substr(lines,2); lines=""; next }
    /,/     { $0=sprintf("\"%s\"", $0 ) }
            { lines=lines OFS $0 }' file

Код создает строку в lines, разделеннуюOFS(запятой ). Когда слово dieвстречается в строке само по себе, выводится строка из lines. Вызов substr()удаляет запятую, которая была добавлена ​​перед строкой, когда первое поле записи было добавлено к строке. Строки с запятыми обрабатываются так же, как в моем коде ниже.

Используя GNU awkили mawk, но не BSD awk, вы также можете

mawk -v RS='\ndie\n' -v FS='\n' -v ORS='\n' -v OFS=',' '{$1=$1;print}' file

Это не приведет к созданию полей в кавычках для данных, содержащих запятые.

Параметр $1=$1заставляет awkповторно -формировать запись в соответствии с переменнымиOFS(разделителя выходных полей )иORS(разделителя выходных записей )перед выводом.


Ответ перед обновлением на вопрос:

paste -d, - - - - <file

Это даст

john doe,555-666-333,john@gmail.com,die
jane doe,444-333-111,jane@gmail.com,die

Для удаления строк die(они совершенно не нужны):

paste -d, - - - - <file | cut -d, -f 1-3

Описанное выше работает, если исходные данные не содержат запятых.

Вы также можете отфильтровать строки dieс самого начала:

sed '/^die$/d' file | paste -d, - - -

Это будет работать, даже если исходные данные содержат запятые.

Если данные содержат запятые, вы можете предварительно обработать их, чтобы добавить кавычки вокруг этих строк.:

awk '/^die$/ { next } /,/ { $0=sprintf("\"%s\"", $0 ) } 1' file | paste -d, - - -

Учитывая файл

john doe
555-666-333
john@gmail.com
die
jane doe
444-333-111
jane@gmail.com
die
Me, myself and I
000-000-000
myself@example.com

эта последняя команда сгенерирует

john doe,555-666-333,john@gmail.com
jane doe,444-333-111,jane@gmail.com
"Me, myself and I",000-000-000,myself@example.com
0
17.03.2021, 12:48
1 ответ

У меня была такая же проблема с библиотекой AWT -в системе Mobian -LXDE -(https://wiki.mobian-project.org/doku.php?id=desktopenvironments#lxde). Решение было таким же простым, как установка пакета default-jre.

Кредиты идут:
https://stackoverflow.com/questions/5241850/running-java-gui-applications-through-a-linux-terminal/5242043#5242043

У меня не было возможности протестировать Fedora -GNOME.


ОБНОВЛЕНИЕ

проблема, похоже, полностью исчезла dnf updateна моем Fedora -GNOME или была решена с помощью связанного пакета KDE -Plasma -5 -, который был установлен/обновлен с помощью две среды рабочего стола.

0
28.04.2021, 23:19

Теги

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