Вот вариант превосходного решения Оли:
awk '{if(l1){print $2-l1,$10-l2} else{l1=$2; l2=$10;}}' \
<(grep wlan0 /proc/net/dev) <(sleep 1; grep wlan0 /proc/net/dev)
Он напечатает тот же результат, что и подход Оли:
$ awk '{if(l1){print $2-l1,$10-l2} else{l1=$2; l2=$10;}}' \
> <(grep wlan0 /proc/net/dev) <(sleep 1; grep wlan0 /proc/net/dev)
401500 30286
Первое значение - скорость загрузки в байтах в секунду, а вторая - скорость загрузки. Вы можете получить более удобный для пользователя формат:
$ awk '{if(l1){print ($2-l1)/1024"kB/s",($10-l2)/1024"kB/s"} else{l1=$2; l2=$10;}}' \
<(grep wlan0 /proc/net/dev) <(sleep 1; grep wlan0 /proc/net/dev)
398.771kB/s 82.8066kB/s
Как правильно объяснил ByteCommander, позиция unity://running-apps в списке схемы com.canonical.Unity.Launcher gsettings влияет на то, где появляются запущенные приложения, поэтому его ответ на вопрос. Чтобы продемонстрировать и протестировать это, я написал небольшой скрипт, результаты которого вы можете увидеть на скриншотах ниже.
Обратите внимание, как скрипт, вызываемый с индексом 1 и индексом 2, показывает, что два приложения терминала перемещаются вместе соответствующая позиция в панели запуска (т. е. запуск приложений, которые не входят в текущий список, сгруппированы вместе). Обратите внимание, что список начинается с индекса 0, который соответствующим образом берется значком хрома.
Примечание: если вы хотите, чтобы приложения были последними, достаточно использовать -1 как аргумент.
from gi.repository import Gio
import sys
def gsettings_get(schema, path, key):
"""Get value of gsettings schema"""
if path is None:
gsettings = Gio.Settings.new(schema)
else:
gsettings = Gio.Settings.new_with_path(schema, path)
return gsettings.get_value(key)
def gsettings_set(schema, path, key, value):
"""Set value of gsettings schema"""
if path is None:
gsettings = Gio.Settings.new(schema)
else:
gsettings = Gio.Settings.new_with_path(schema, path)
if isinstance(value, list):
return gsettings.set_strv(key, value)
if isinstance(value, int):
return gsettings.set_int(key, value)
def main():
schema='com.canonical.Unity.Launcher'
key='favorites'
current_list = list(gsettings_get(schema,None,key))
running_index = current_list.index('unity://running-apps')
position = int(sys.argv[1])
temp = current_list[position]
current_list[position] = current_list[running_index]
current_list[running_index] = temp
gsettings_set(schema,None,key,current_list)
if __name__ == '__main__': main()