다음은 macOS high Sierra에서 실행되는 명령입니다.
**`Command`**
log show --info --predicate 'process="jamf" and eventMessage contains "Informing the JSS about login for user"' --start 2019-04-25|awk '{printf "%s %s %s %s %s %s %s %s %s %s %s %s %s \n", $1,$2,$4,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18}'|sed '1d'|column -t -s " "|grep -v "Informing the JSS about login for user root"
Output:
log: warning: ./system_logs.logarchive present but reading from system log store.
2019-04-25 09:49:26.843101+0530 Default jamf: [com.jamf.management.binary:all] Informing the JSS about login for user swastibhushandeb
2019-04-25 20:14:47.928848+0530 Default jamf: [com.jamf.management.binary:all] Informing the JSS about login for user swastibhushandeb
Desired Output:
2019-04-25 09:49:26.843101+0530 Default jamf: [com.jamf.management.binary:all] Local Login for user swastibhushandeb
2019-04-25 20:14:47.928848+0530 Default jamf: [com.jamf.management.binary:all] Local Login for user swastibhushandeb
내가 아는 한, Informing the JSS about login for user swastibhushandeb
다음 명령을 사용하여 ""를 바꿀 수 있습니다.sed 's/Informing the JSS about login for user swastibhushandeb/Local Login for user swastibhushandeb/'
- 그러나 사용자 이름은 시나리오에 따라 다를 수 있으므로
"Informing the JSS about login for user swastibhushandeb"
사용자 이름이 포함된 특정 필드를 선택하고 바꾸는 방법은 무엇입니까? - 다음을 사용하여 열 머리글을 출력에 삽입하는 방법
awk begin
개선 사항/샘플 코드에 대한 제안을 환영합니다.
답변1
첫 번째 질문에 대한 답변은 다음과 같습니다.
sed 's/Informing the JSS about login for user/Local Login for user'
올바른 명령을 제안했지만 대체할 필요가 없습니다 username
. 다른 단어로 바꾸세요.
두 번째 질문에는 더 자세한 내용을 제공해야 합니다.
답변2
다음 명령을 통해 출력을 파이프하십시오.
경고 줄 로그: warning:을 제거하고 언급한 헤더를 추가했습니다. 모든 작업은 awk로 수행되었으며 올바른 공간 형식을 갖습니다.
주문하다
awk 'BEGIN{print "Date Time Type bundle Logininformation"}NR >1{gsub("Informing\t the JSS about","Local",$0);print $0}' k.txt|sed '/^$/d'| awk '{printf "%30s%30s%30s%30s%30s\n",$1,$2,$3,$4,$5}'| awk '$0 !~/^$/{print $0}'
산출
awk 'BEGIN{print "Date Time Type bundle Logininformation"}NR >1{gsub("Informing\t the JSS about","Local",$0);print $0}' k.txt|sed '/^$/d'| awk '{printf "%30s%30s%30s%30s%30s\n",$1,$2,$3,$4,$5}'| awk '$0 !~/^$/{print $0}'
Date Time Type bundle Logininformation
2019-04-25 09:49:26.843101+0530 Default jamf:[com.jamf.management.binary:all]
2019-04-25 20:14:47.928848+0530 Default jamf:[com.jamf.management.binary:all]