На всякий случай, если кому-то еще нужно решение, вместо использования только sudo у меня сработало sudo systemd -run
$ sudo systemd-run --uid=1009 --slice=user-1009 sleep 10
# ps -U 1009 ; systemctl status user-1009.slice
PID TTY TIME CMD
20199 ? 00:00:00 sleep
● user-1009.slice
Loaded: loaded
Active: active since Sun 2018-09-02 01:46:57 EDT; 2s ago
CGroup: /user.slice/user-1009.slice
└─run-20198.service
└─20199 /bin/sleep 10
Awk может быть проще, чем grep для чего-то подобного.
awk 'c && !--c; $2 == "UTT" {c=3}' file
Это устанавливает счетчик всякий раз, когда строка «UTT» совпадает. Если счетчик установлен, уменьшите переменную и напечатайте строку, если счетчик вернулся к нулю. Вы можете сопоставлять строки «UTT» различными способами, например. регулярное выражение /^ - UTT/ {c=3}
или соответствие строки index($0, " - UTT") == 1 {c=3}
. Условие $2 == "UTT"
соответствует, когда вторым полем является строка "UTT".
Использованиеawk
:
awk '/UTT/{a=NR+3} NR==a' input
В этой команде, если UTT
найдено, a
устанавливается в NR+3
. NR==a
печатает требуемый вывод.