-1 나는 아래의 명령을 로그 파일에 대해 발행하고있다. grep "Oracle Audit" /var/adm/messages | awk '{print $6}' 아래 출력 형식을 어떻게 지정합니까? Audit[9460]: Audit[10507]: Audit[10507]: Audit[10507]: 숫자 만 표시하기 예 : 9460 10507 10507 etc linux ubuntu bash shell centos — Noob 소스
0 당신이 순수한 awk 해결책, 시도 awk '{ sub("Audit\\[", "", $6); sub("]:", "", $6); print $6 }' 에서 원하지 않는 문자열을 대체합니다. $6 아무것도. 키루스의 대답은 이보다 더 빠를 수도 있습니다. 아니. — Scott 소스
0 필요 없음 awk, grep 혼자 할 수 있습니다. grep -oP 'Oracle Audit\[\K[0-9]+(?=\])' /var/adm/messages 그만큼 \K 후 Oracle Audit\[ 보고 된 일치 항목의 시작 부분을이 지점으로 재설정합니다. 그래서 그것은 성냥의 일부가 아닙니다. 인쇄하고자하는 숫자가 보이면 미리보기가 있습니다. (?=). 마찬가지로 \K 순서. 그것은 인쇄 할 것이다 : 9460 10507 10507 10507 — chaos 소스