awk를 사용하여 문자열을 검색하고 첫 번째 행의 첫 번째 열을 인쇄합니다.

awk를 사용하여 문자열을 검색하고 첫 번째 행의 첫 번째 열을 인쇄합니다.

에 관심이 있습니다 awk. 상위 Nodejs 프로세스의 프로세스 ID를 찾는 빠른 명령을 만들고 싶습니다. 나는 이것을 생각해 냈습니다 :

ps aux | awk '/node/' | awk 'NR == 1 {print $1}'

awk하지만 이 두 명령을 하나로 합칠 수 있는 방법이 있어야 한다고 생각합니다 . 좀 더 간결하게 작성하는 방법은 무엇인가요?

편집하다:

이 작업에 더 적합 하지만 pgrep여전히 검색을 사용하고 첫 번째 줄을 인쇄하는 방법을 알고 싶습니다 awk.

답변1

의 출력에 대해 텍스트 처리를 수행할 필요가 없습니다 ps. 이 목적을 위해 특별히 호출된 도구가 있습니다 pgrep.

다음을 수행하세요.

pgrep node

node문자열 대신 정규식 패턴을 사용할 수 있습니다.

프로세스 이름이 포함된 자세한 출력의 경우:

pgrep -l node

또한 명령 이름을 얻으십시오.

pgrep -a node

더 많은 아이디어를 확인해 보세요 man pgrep.


awkon을 사용 ps하고 awk두 개의 를 하나로 병합하려면 다음을 수행하십시오.

ps aux | awk '/node/ {print $1; exit}' 

관련 정보