Liux 시스템 에서 mem 점용 률 - awk 사용 상세 설명 가 져 오기

linux 시스템 에서 mem 점 용 률 가 져 오기 – awk 사용 상세 설명
본 고 는 획득 시스템 의 mem 점용 율 을 실현 하 는 것 을 착안점 으로 하고 주로 awk 명령 의 일부 상용 용법 을 분석 하고 자 한다.
awk 명령
awk 는 linux / unix 에서 텍스트 와 데 이 터 를 처리 하 는 프로 그래 밍 언어 입 니 다.데 이 터 는 표준 입력 (stdin), 하나 이상 의 파일 또는 다른 명령 의 출력 에서 나 올 수 있 습 니 다.사용자 정의 함수 와 동적 정규 표현 식 등 선진 적 인 기능 을 지원 하 며 linux / unix 의 강력 한 프로 그래 밍 도구 입 니 다.
부호 블록
#!/bin/sh 
    MemTotal=$(cat /proc/meminfo |grep MemTotal|awk '{ print $2}')
    MemFree=$(cat /proc/meminfo |grep MemFree|awk '{ print $2}')
    echo "MemFree/MemTotal=$((MemFree*100/$MemTotal))"
    echo "this is end,byebye~"

실행 결과
결과 분석
사실 이 단락 코드 는 주로 cat /proc/meminfo |grep MemTotal|awk '{ print $2}' 인 데 그 중에서 cat /proc/meminfo |grep MemTotal 의 실행 결 과 는 MemTotal: 4131724 kB 이 고 awk 의 기능 도 명확 하 다. 두 번 째 문자열 인 4131724, 즉 2 의 값 을 꺼낸다.여기 서 파이프 가 전 달 된 값 은 위 에서 제시 한 것 과 같 습 니 다. 1 은 분명히 MemTotal: 이지 만 $0 의 값 은 구체 적 으로 무엇 인지 알 수 없습니다.
또한, 위의 명령 에 따라 다른 데 이 터 를 얻 을 수 있 습 니 다. 예 를 들 어 / proc / stat 안의 데 이 터 를 통 해 cpu 의 사용률 을 계산 할 수 있 고, fconfig 와 결합 하여 이 컴퓨터 의 IP 를 얻 을 수 있 습 니 다.
#!/bin/sh 

    echo "hello,i am just a test"
    num=$(ifconfig eth0 | grep "inet " | awk '{ print $2}')
    echo $num
    echo "this is end,byebye~"

awk 명령 분석
awk 스 크 립 트 의 기본 구조
awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file

BEGIN 구문 블록, 패턴 이 일치 하 는 유 니 버 설 구문 블록, END 구문 블록 3 부분 으로 구성 되 어 있 으 며 이 세 부분 은 선택 할 수 있 습 니 다.모든 부분 이 스 크 립 트 에 나타 나 지 않 을 수 있 습 니 다. 스 크 립 트 는 보통 작은 따옴표 나 작은 따옴표 에 있 습 니 다. 예 를 들 어 awk 'BEGIN {i = 0} {i +} END {print i}' filename 과 awk 'BEGIN {i = 0} {i +} END {print i}' filename
  • 첫 번 째 단계: BEGIN {commands} 구문 블록 에 있 는 문 구 를 실행 합 니 다.
  • 두 번 째 단계: 파일 이나 표준 입력 (stdin) 에서 한 줄 을 읽 은 다음 pattern {commands} 구문 블록 을 실행 합 니 다. 첫 줄 에서 마지막 줄 까지 이 과정 을 반복 합 니 다. 파일 이 모두 읽 힐 때 까지.
  • 세 번 째 단계: 입력 스 트림 끝까지 읽 을 때 END {commands} 문 구 를 실행 합 니 다.
  • echo -e "A B C D E F" | awk 'BEGIN{ print "Start" } { print } END{ print "End" }'
    Start
    A B C D E F
    End

    awk 는 파일 (file) 의 명령 도 처리 할 수 있 고 다른 명령 의 데이터 (파이프) 도 받 을 수 있 습 니 다.
    awk 내장 변수 (미리 정 의 된 변수)
    설명: [A] [N] [P] [G] 는 첫 번 째 지원 변 수 를 나타 내 는 도구 입 니 다. [A] = awk, [N] = nawk, [P] = POSIXawk, [G] = gawk
    $n 현재 기 록 된 n 번 째 필드, 예 를 들 어 n 은 1 로 첫 번 째 필드 를 표시 하고 n 은 2 로 두 번 째 필드 를 표시 합 니 다.
  • [N] ARGC 명령 행 인자 의 수 입 니 다.
  • [N] ARGV 는 명령 행 인 자 를 포함 하 는 배열 입 니 다.
  • [P] ENVIRON 환경 변수 관련 배열.
  • [G] FIELDWIDTHS 필드 너비 목록 (스페이스 바 로 구분).
  • [A] FILENAME 현재 입력 한 파일 의 이름 입 니 다.
  • [A] FS 필드 구분자 (기본 값 은 모든 빈 칸).
  • [A] NF 는 필드 수 를 표시 하고 실행 과정 에서 현재 필드 수 에 대응 합 니 다.
  • [A] NR 는 기록 수 를 나타 내 고 실행 과정 에서 현재 줄 번호 에 대응 합 니 다.
  • [A] OFS 출력 필드 구분자 (기본 값 은 빈 칸).
  • [A] RS 기록 구분자 (기본 값 은 줄 바 꿈 문자).
  • [N] RSTART 는 match 함수 에 일치 하 는 문자열 의 첫 번 째 위치 입 니 다.
  • [N] SUBSEP 배열 아래 에 구분자 (기본 값 은 34) 를 표시 합 니 다.
  • 좋은 웹페이지 즐겨찾기