AWK 를 사용 하여 선을 빼는 방법을 알아 내려고합니다 . 예를 들어, 입력 파일이 다음과 같다고 가정하십시오.
30
20
결과는 다음과 같습니다.
10
이제 테스트로 "사용 된"메모리 열을 계산하려고합니다.
$ cat /proc/meminfo
그래서 지금 나는 이것을 썼습니다 :
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
-- Here comes the calculation using AWK
나는 다음을 시도했다.
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
awk '{print $2}' | awk '{$0-s}{s=$0} END {print s}'
그러나 이것은 단지 마지막 데이터 행을 제공합니다.
작동하는 솔루션을 찾았지만 가장 적합한 솔루션은 아닌 것 같습니다. 모든 코딩 경험에 따르면 행의 양을 하드 코딩하는 것이 끔찍하다는 것을 알 수 있습니다.
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
awk '{print $2}' | awk 'NR == 1{s=$0} NR == 2 {s=s-$0} END {print s}'
line1_$2 - line2_$2 - lineN-$2
? 처음 두 개의 연속 행만 빼기를 원하십니까?