существует ли способ видеть список пакетов ТОЛЬКО от Debian-экспериментального?

{ touch /tmp/sleep.flag; sleep 2d ; rm /tmp/sleep.flag; find /home/disk1/ -exec touch {} \; ; } &

Все, что вам нужно просто проверить /tmp/sleep.flag Наличие файла

[ -f /tmp/sleep.flag ] && echo "Running sleep..."
0
29.01.2015, 01:11
1 ответ

Не в 3,5 , этот ответ просто для справки.

в KDE 4.4 перетащите окна к краю экрана.

Можно также назначить комбинации клавиш :

Системные настройки - > Комбинации клавиш и жесты - > Глобальные комбинации клавиш

enter image description here

-121--109628-

Вот небольшая программа Python 2, которая делает то, что нужно. Слова перечислены в хронологическом порядке первого появления, то есть каждое новое слово добавляется в нижнюю часть списка, но было бы легко сортировать слова по алфавиту или в порядке количества вхождений.

Выходные данные могут быть немного аккуратнее, например, если вы знаете максимальную длину последовательности, то номера вхождений могут быть выровнены в столбце.

wordcount.py

#! /usr/bin/env python

''' Real-time word counting

    Written by PM 2Ring 2015.01.29
    From http://unix.stackexchange.com/q/181722/88378
'''

CSI = '\x1b['
clear = CSI + '2J' + CSI + 'H'

def main():
    words = []
    wordcount = {}
    while True:
        try:
            word = raw_input()
        except (KeyboardInterrupt, EOFError):
            print 
            break

        if word not in wordcount:
            words.append(word)
            wordcount[word] = 1
        else:
            wordcount[word] += 1

        print clear
        for word in words:
            print '%s: %d' % (word, wordcount[word])

if __name__ == '__main__':
    main()

Для передачи выходных данных yourprog в эту программу можно сделать следующее:

yourprog | python wordcount.py

при условии, что wordcount.py находится в текущем каталоге.

Либо дайте wordcount.py разрешение на выполнение (например, chmod a + x wordcount.py ) и поместите его в каталог в списке PATH команды (т.е. каталог, указанный при эхо «$ PATH» ). Затем можно выполнить

yourprog | wordcount.py

и запустить его в любом месте.

Если у вас есть только Python 3, а не Python 2, для запуска программы потребуется внести некоторые незначительные изменения.

FWIW, вот еще один скрипт Python, который я написал для тестирования вышеуказанного кода. Он печатает случайное слово, одно слово на строку, каждые 0,5 секунды.

randwords.py

#! /usr/bin/env python

import random, time

wordlist = [
    'apple',
    'carrot',
    'pear',
    'orange',
    'banana',
    'cabbage',
    'potato'
]

def main():
    #Time delay between words, in seconds
    delay = 0.5
    while True:
        try:
            print random.choice(wordlist)
            time.sleep(delay)
        except KeyboardInterrupt:
            print 
            break

if __name__ == '__main__':
    main()

Вы можете запустить его, проложив его выходные данные в wordcount.py так:

python -u randwords.py | python wordcount.py

Флаг -u подсказывает интерпретатору Python использовать небуферированный ввод-вывод.

-121--157684-

Это можно сделать, перечислив оба набора пакетов и определив разницу между двумя результатами:

grep -Fxv -f <(apt list | grep unstable | cut -d/ -f1) <(apt list | grep experimental | cut -d/ -f1)

Это приводит к «экспериментальному минус нестабильному» и может быть адаптировано для вычисления любой разницы путем изменения нестабильного и/или экспериментального . Строго говоря, это больше, чем просто номер люкс; следующий вариант точно совпадает по совпадению только после / в выводе списка apt :

grep -Fxv -f <(apt list | egrep /.\*unstable | cut -d/ -f1) <(apt list | grep /.\*experimental | cut -d/ -f1)

(В противном случае пакеты с «экспериментальными» в их названии появляются тогда, когда они не должны, например, при сравнении тестирования и эксперимента, trafficserver-experimental-plugins перечисляется, даже если он присутствует только в нестабильном состоянии.)

Кроме того, apt list по умолчанию перечисляет только пакеты-кандидаты, поэтому для получения правильных результатов, особенно при сравнении тестирования и нестабильности, необходимо сделать следующее:

grep -Fxv -f <(apt list --all-versions | egrep /.\*unstable | cut -d/ -f1) <(apt list --all-versions | grep /.\*experimental | cut -d/ -f1)

Оба cut s извлекают имя пакета из вывода apt . Первый набор пакетов (из нестабильных) приводится как список узоров для grep с помощью опции -f . -F сообщает grep считать узоры простым текстом последовательностей а не регулярными выражениями; -x сообщает ему полностью соответствовать каждому образцу; и -v сообщает ему список строк, которые не соответствуют заданным узорам. Таким образом, grep берет все пакеты в эксперименте, сохраняет только те, которые отсутствуют в списке пакетов из нестабильных, и выводит результат.

В конструкциях < () используется подстановка процесса для подачи стандартных выходных данных команд, содержащихся в скобках, в трубу, которая затем может использоваться в качестве входных данных для другой команды; для получения более подробной информации см. усовершенствованное руководство .

1
28.01.2020, 02:51

Теги

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