sed 정규식을 사용하여 좋은 수준의 프로세스를 추출하는 데 도움이 필요합니다.
대략적인 출력 예
ps -l 4411
<stuff*> NI <*stuff>
<stuff*> 19 <*stuff>
질문
나는 NI와 19를 원해요.
NI와 19를 모두 취득하는 방법을 모르겠습니다. 현재 다음과 같은 자격증을 가지고 있습니다.
ps -l 4411 | \
sed s'#.*\(NI\).*#\1#'g
NI
<*numbers*>
물론 이것은 나에게 "NI"를 제공하고 그것의 바닥을 추출하는 방법을 모릅니다.
답변1
sed
또는 다른 명령줄 도구(예: )를 사용하지 않아도 됩니다 awk
. 동일한 ps
명령을 사용하여 열을 지정할 수 있습니다.
ps -o ni 4411
#or
ps -o nice 4411
그러면 다음과 같은 내용이 표시됩니다.
NI
19
정말로 명령줄 도구를 사용하려면 를 사용해야 합니다 awk
.
앗
이것이 반환되는 경우 ps -l 4411
:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 22150 4822 0 80 0 - 2773 sigsus pts/4 0:01 /bin/zsh
NI
그런 다음 8번째 열을 얻으려면 다음 방법을 사용해야 합니다.
ps -l 22150 | awk '{print $8}'