Как обновить значок панели запуска?

Стандартный способ хранения данных многомерного -массива в массиве размерности 1 заключается в сохранении каждой строки со смещением в массиве.

Элемент (i,j)будет располагаться по индексу i*m + j, где i— индекс строки на основе нуля -, j— индекс столбца на основе нуля -, а m— количество столбцы.

Это также упрощает чтение данных, поскольку мы можем просто взять ваш входной файл, изменить все пробелы на новые строки и использовать readarray.

В командной строке:

$ readarray -t arr < <( tr -s ' ' '\n' <data )
$ printf '%s\n' "${arr[@]}"
10
20
30
40
50
60
100
200
300
400
500
600

Мы можем определить количество столбцов в данных с помощью

$ m=$( awk '{ print NF; exit }' <data )

И количество рядов:

$ n=$( wc -l <data )

Затем мы можем перебирать столбцы и строки в двойном цикле, как обычно:

for (( i = 0; i < n; ++i )); do
    for (( j = 0; j < m; ++j )); do
        printf '%4d' "${arr[i*m + j]}"
    done
    printf '\n'
done

Для заданных данных это будет генерировать

  10  20  30  40  50  60
 100 200 300 400 500 600

В идеале вы должны использовать язык, такой как Perl, Python или C, который поддерживает многомерные -массивы. То есть, если вам действительно нужно хранить весь набор данных в памяти вообще и вы не можете обрабатывать его построчно.

Для построчной обработкиawkбудет хорошим кандидатом на заменуbash(любой язык будет хорошим кандидатом на замену оболочки для любого вида обработки данных):

awk '{ for (i = 1; i <= NF; ++i) printf("%4d", $i); printf("\n") }' data
0
11.02.2021, 16:38
1 ответ

Насколько мне известно, для лаунчеров на панели xfce4 -нельзя добавить пользовательский значок. Если у приложения есть значок, программа запуска отобразит значок.

0
18.03.2021, 22:31

Теги

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