다음은 해독하려는 코드입니다.

w | cut -d " " -f 1 - | grep -v USER | sort -u 

답변

w | cut -d " " -f 1 - | grep -v USER | sort -u 

w 명령은 다음과 같이 로그온 한 사용자를 표시합니다. 몇 가지 추가 정보 :

$ w 12:59:25 up 50 days, 21:45, 4 users, load average: 1.02, 1.03, 1.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT bill pts/12 xxx.xxx.xxx.xxx 12:55 0.00s 0.03s 0.03s tmux bill pts/14 tmux(64415).%0 12:55 0.00s 0.05s 0.03s w dave pts/18 yyy.yyy.yyy.yyy Wed09 23:52m 1:15 1:07 vim clear_snapshots.pl dave pts/2 yyy.yyy.yyy.yyy Tue14 23:48m 3.65s 3.65s -bash 

cut -d " " -f 1 - 명령은 공백으로 구분 된 첫 번째 열 (- 제거 가능) :

$ w | cut -d " " -f 1 USER bill bill dave dave 

grep -v USER 제거 USER 문자열이 포함 된 모든 줄 :

$ w | cut -d " " -f 1 | grep -v USER bill bill dave dave 

sort -u 입력을 사전 순으로 정렬하고 중복 된 줄을 제거합니다.

$ w | cut -d " " -f 1 | grep -v USER | sort -u bill dave 

제 생각에는 현재 로그인 한 사용자의 사용자 이름을 나열하려고합니다. , 정렬 된 목록입니다.

더 간단한 방법은 users 명령을 사용하는 것입니다. users는 로그온 한 모든 사용자를 한 줄로 출력하지만 tr " " "\n"sort -u : 한 줄에 한 명의 사용자 확보 :

users | tr " " "\n" | sort -u 

추가적으로 w (w 출력의 첫 번째 줄에있는 시간은 현재 시간이 한 자리 또는 두 자리인지 여부에 따라 파이프 라인 출력의 일부일 수도 있고 아닐 수도 있습니다. 사용중인 w 구현).

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다