나는 이것이 IP와 사용자 이름을 인쇄한다는 것을 알고 있지만 누군가 나에게 그것을 설명해 줄 수 있습니까? 매우 간단합니다. 감사합니다! 유닉스

나는 이것이 IP와 사용자 이름을 인쇄한다는 것을 알고 있지만 누군가 나에게 그것을 설명해 줄 수 있습니까? 매우 간단합니다. 감사합니다! 유닉스

이것이 IP와 사용자 이름을 인쇄한다는 것을 알고 있지만 누군가 나에게 간략하게 설명해 줄 수 있습니다. 감사합니다! 유닉스

w -hs|awk '{printf "%s\t%s\n",$1,$3}'

답변1

w -hs- 누가 시스템에 로그인했지만 사용하고 있는지 출력합니다.-hs출력을 더 깔끔하게 만드는 플래그

그런 다음 결과는 출력 형식을 지정 하는 데 사용되는 개체 w -hs로 파이프 됩니다.awkprintf

%sTAB을 나타내는 형식 지정자입니다 \t. \n개행 문자를 나타냅니다. 이 후에는 $1및 가 있습니다 $3. 따라서 이 모든 것은 awk '{printf "%s\t%s\n",$1,$3}'출력의 첫 번째와 세 번째 문자열을 인쇄하고 그 사이에 탭 문자를 넣은 다음 결과를 개행 문자로 인쇄하는 것을 의미합니다.

나에게 이것은 사용하는 것과 동일합니다.awk '{print $1, "", $3}'

답변2

그것을 파괴:

먼저 "파이프" 기호를 확인하세요 |. 이것은 우리에게 이것이두 부분주문하다:산출추가 처리를 위해 첫 번째 명령의 내용이 w -hs두 번째 명령으로 "전달"됩니다 awk '{printf "%s\t%s\n",$1,$3}'.

첫 번째 명령은 w -hs시스템에 로그인한 사람에 대한 정보를 출력합니다( man w자세한 내용은 참고자료 참조). 이 예에서는 출력 형식을 지정하기 위해 두 가지 옵션 -h및 가 추가되었습니다. -s자세한 내용은 COMMAND-LINE OPTIONS의 섹션을 참조하십시오 man w. 더 나은 방법은 터미널에 이 명령을 입력하고 확인하는 것입니다.

의 출력 w -hs은 로 "파이프"됩니다 . 즉 , 의 출력에서 ​​작동 awk한다는 의미입니다 .awkw -hs

awk텍스트 처리에 일반적으로 사용되는 언어입니다. man awk자세한 내용을 확인하거나 awk인터넷의 수많은 튜토리얼 중 하나에서 자세히 알아보세요. awk코드가 꽤밀집한, 이를 이해하려면 약간의 연구가 필요할 수 있습니다.

이것표현하다 '{printf "%s\t%s\n",$1,$3}'awk파이프로 연결된 데이터로 무엇을 해야 할지 알려줍니다 w -hs. 요약하면 이러한 지침은 다음과 같습니다.

,를 사용하여 printf필드(또는 열) 1과 3( )의 값을 탭( )으로 구분된 "문자열"로 인쇄한 $1,$3다음 끝에 "줄바꿈"( )을 추가합니다.%s\t\n

이는 간략한 요약 awk이므로 많은 중요한 세부정보가 생략되어 있습니다. 귀하의 관심사나 직무 설명에 더 자세한 내용이 필요한 경우 awk다양한 온라인 자료나 인쇄본 자료를 참조하십시오.

관련 정보