Вторая причина - интеграция. Если вы запускаете что-то из семейства GNOME, например, GNOME Shell, Cinammon или MATE, приложение KDE вряд ли хорошо интегрируется в ваше окружение. Это потому, что приложение ожидает, что вместо версии GNOME там будет KDE-версия таких вещей, как уведомления или системный трей, и не может справиться с разницей. Таким образом, Вы можете испытать уродливые UI или тот факт, что некоторые милые вещи исчезли.
Последняя причина - самая религиозная и неразумная: чистота. Некоторые люди считают, что если у Вас одновременно установлены библиотеки GNOME и KDE, то Вы разрушили "чистоту" Вашей системы GNOME, и теперь операционная система "испачкана" библиотеками KDE. Это ощущение не имеет технической основы, но многие [1175474] делают [1175475] так (включая меня, должен признать) и поэтому будут избегать втягивания библиотек KDE в качестве зависимостей (или, наоборот, избегать втягивания библиотек GNOME в их системы KDE).[1175090]. Обычно я просто использовал $ {параметр # слово
расширение параметра Bash . Он расширяется $ Параметр
, Удаление Word
(который может быть шаблоном) от начала.
В вашем случае что-то вроде:
line=...
echo ${line#*load average: }
делает его функцией:
get_load() {
w | head -n 1 | { read -r line; echo ${line#*load average: }; }
}
Если вы хотите только последние номера, вы можете использовать GREP:
$ w | grep -Po 'load average: \K.*'
0.07, 0.13, 0.09
Вы также можете использовать awk:
$ w | head -1 | awk '{print $10,$11,$12}'
0.80, 0.84, 0.93
или, если количество полей переменная, используйте:
$ w | head -1 | awk '{print $(NF-2),$(NF-1),$NF}'
0.81, 0.82, 0.91
или, гораздо более элегантно ( Спасибо @letitzia ):
$ w | head -1 | awk -F "load average: " '{print $2}'
SED:
$ w | head -1 | sed 's/.*load average: *//'
Perl:
$ w | head -1 | perl -pe 's/.*load average: *//'
или
$ w | head -1 | perl -lne '/.*load average: *(.*)/ && print $1'
Вы действительно можете использовать Colrm
здесь, но отметить, что он удаляет «столбцы», которые определяются как «один символ в линии ". Итак, пока он работает для примера, который вы предоставили (из-за дополнительного пространства), это не будет, если количество столбцов меняется дальше. Здесь он удаляет колонны с 1 по 51
$ w | head -1 | colrm 1 51
Другой Perl
:
$ w | head -1 | perl -nle 'print +(split /load average:/)[-1]'
0.42, 0.49, 0.63