File: numastat_diff

package info (click to toggle)
numactl 2.0.19-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 1,228 kB
  • sloc: ansic: 7,295; sh: 460; makefile: 123; awk: 26
file content (34 lines) | stat: -rwxr-xr-x 635 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/awk -f
# diff two numastat output files
# Based on suggestion by Bernd Finger

BEGIN {
  if (ARGC!=3) {
    printf("Script requires two input arguments, got %d.\n", ARGC-1)
    for (i = 1; i < ARGC; i++) {
      printf "\tARGV[%d] = '%s'\n", i, ARGV[i]
    }
    printf("Usage: numastat_diff.awk numastat.start numastat.end\n")
    }
}

#First file
FNR==NR{
  n++
  if (NR==0) {print}
  if (NR>0){
    for (i=1; i<=NF; i++) {
      a[(FNR)][i]=$(i+1);
    }
    next
   }
 }

#Second file
NR>(n+1){
   printf ("%-15s ", $1);
   for (i=1; i<=NF-1; i++) {
      printf ("%10d ", $(i+1)-a[(FNR)][i]);
   }
   printf ("\n");
 }