일반 형식을 따르지 않는 출력에서 빈 열을 어떻게 추출할 수 있습니까?
예를 들어 를 입력하면 ps -ef
모든 프로세스, 프로세스 ID 등이 표시됩니다. 마지막 열이나 특정 열만 가져올 수 있는 방법은 무엇입니까?
답변1
옵션을 사용하면 -o
표시할 필드를 지정할 수 있습니다. 에서 man ps
찾거나 사용할 수 있는 사용 가능한 필드 목록입니다 ps L
.
예를 들어, 를 사용하면 ps -eo user,command
아래와 같이 사용자 이름과 명령이 표시됩니다.
root /bin/login --
root /sbin/getty
및 매개변수를 사용할 수도 있습니다 -O
. 이렇게 하면 일부 기본 필드가 사용되고 지정한 필드가 추가되지만 출력을 구문 분석하려면 를 권장합니다 o
.
답변2
아마도 당신은 다음을 원할 것입니다:
ps -eo comm
명령 이름을 얻으려면 또는
ps -eo args
명령 매개변수 가져오기 또는
ps -eo args="Last-Arg" | awk '{print $NF}'
마지막 매개변수를 가져옵니다.