{ 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..."
Не в 3,5 , этот ответ просто для справки.
в KDE 4.4 перетащите окна к краю экрана.
Можно также назначить комбинации клавиш :
Системные настройки - > Комбинации клавиш и жесты - > Глобальные комбинации клавиш
Вот небольшая программа 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 использовать небуферированный ввод-вывод.
Это можно сделать, перечислив оба набора пакетов и определив разницу между двумя результатами:
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
берет все пакеты в эксперименте, сохраняет только те, которые отсутствуют в списке пакетов из нестабильных, и выводит результат.
В конструкциях < ()
используется подстановка процесса для подачи стандартных выходных данных команд, содержащихся в скобках, в трубу, которая затем может использоваться в качестве входных данных для другой команды; для получения более подробной информации см. усовершенствованное руководство .