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");
}
|