![ps -l: 정규 표현식은 호의적인 의견만 표시합니다.](https://linux55.com/image/212059/ps%20-l%3A%20%EC%A0%95%EA%B7%9C%20%ED%91%9C%ED%98%84%EC%8B%9D%EC%9D%80%20%ED%98%B8%EC%9D%98%EC%A0%81%EC%9D%B8%20%EC%9D%98%EA%B2%AC%EB%A7%8C%20%ED%91%9C%EC%8B%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
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}'