Удалите все 'в' Jobs кроме первых пяти заданий

То, что вы после того, как вы, вероятно, что-то вроде:

sed 's/ \([0-9]\.\)/0\1/'

, он соответствует пространству, за которым следует одна цифра от диапазона от 0 до 9, а затем точка и заменяет пространство на 0. Карлесы \ ([0 -9] \. \) Отметьте группу, на которую ссылается \ 1 в замене части выражения.

1
19.04.2015, 01:43
2 ответа

Это снимает первые 5, так что это неправильно, если вы сможете найти, как сделать перевернутую голову (снять голову), то вы получите ответ. Сочетание wc и tail может сделать это.

atq | sort -g  | head -5 | cut -f1 | xargs atrm

Correct answer

atq | sort -g  | tail -n +6 | cut -f1 | xargs atrm
0
28.01.2020, 01:41

В моей системе Debian на сортирует задания к началу их выполнения, а не в порядке, в котором они были даны на на в:

$ for i in 10 20 30 40 50 60 70; do 
    at now + "$i" min < scripts/foo.sh; sleep 1; 
done
warning: commands will be executed using /bin/sh
job 8 at Sat Apr 18 15:31:00 2015
warning: commands will be executed using /bin/sh
job 9 at Sat Apr 18 15:41:00 2015
warning: commands will be executed using /bin/sh
job 10 at Sat Apr 18 15:51:00 2015
warning: commands will be executed using /bin/sh
job 11 at Sat Apr 18 16:01:00 2015
warning: commands will be executed using /bin/sh
job 12 at Sat Apr 18 16:12:00 2015
warning: commands will be executed using /bin/sh
job 13 at Sat Apr 18 16:22:00 2015
warning: commands will be executed using /bin/sh
job 14 at Sat Apr 18 16:32:00 2015

$ atq
9   Sat Apr 18 15:41:00 2015 a terdon
11  Sat Apr 18 16:01:00 2015 a terdon
10  Sat Apr 18 15:51:00 2015 a terdon
12  Sat Apr 18 16:12:00 2015 a terdon
8   Sat Apr 18 15:31:00 2015 a terdon
14  Sat Apr 18 16:32:00 2015 a terdon
13  Sat Apr 18 16:22:00 2015 a terdon

Как вы можете видеть, на будет нумеровать задания в порядке их выполнения, но atq перечисляет их в видимо случайном порядке.

  1. Для удаления первых 5 заданий, перечисленных в atq, можно сделать:

    atrm $(atq | head -5 | cut -f 1).
    
  2. Чтобы удалить первые 5 вакансий в порядке их запуска, сделайте:

    atrm $(atq | sort -n | head -5 | cut -f 1).
    
0
28.01.2020, 01:41

Теги

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