Выбирайте задания грязи на основе священных данных - PullRequest
0 голосов
/ 04 апреля 2019

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

От руки я могу сделать это, используя:

sacct --format="JobID,Submit"

, который даст мне список JobID и соответствующий времени подачи, в форме:

1919614      2019-04-02T19:31:30 
1919615      2019-04-02T19:31:32 
1919616      2019-04-02T19:31:33
1919686      2019-04-02T19:47:29 
1919687      2019-04-02T19:47:30 
1919688      2019-04-02T19:47:32 
1919689      2019-04-02T19:47:33 
1919690      2019-04-02T19:47:35 
1919691      2019-04-02T19:47:36

Как выбрать JobID из первого столбца с датой-временем в определенном интервале во втором столбце с помощью командной строки.

Так, например, учитывая интервал {2019-04-02T19:47:30,2019-04-02T19:47:33}, он должен дать

1919687
1919688   
1919689

(Или есть лучший способ сделать это вообще.)


Я добавил тег awk, поскольку этот вопрос можно было задать, не предоставляя никакой дополнительной информации о происхождении строки. Вопрос в том, как просто напечатать только первый столбец, если второй столбец - это дата в определенном интервале, что, по-видимому, должно быть возможно при использовании awk

(я думаю, что справочную информацию важно добавить в случае, если у кого-то есть лучшее решение с использованием различных инструментов. См. XY проблема )

Ответы [ 2 ]

2 голосов
/ 04 апреля 2019

Ваши даты и время уже в формате, который можно заказать, поэтому вы должны просто:

$ awk '$2 >= "2019-04-02T19:47:30" && $2 <= "2019-04-02T19:47:33" { print $1 }' file
1919687
1919688
1919689

Если вы хотите сделать это немного более общим:

$ start="2019-04-02T19:47:30"
$ end="2019-04-02T19:47:33"
$ awk -v start=$start -v end=$end '$2 >= start && $2 <= end { print $1 }' file
1919687
1919688
1919689
0 голосов
/ 05 апреля 2019

Нет необходимости в awk, Священник Слёрма может сделать фильтрацию за вас :

sacct --state PD --starttime 019-04-02T19:47:30 --endtime 2019-04-02T19:47:33
...