File: srcstat.awk

package info (click to toggle)
mawk 1.3.4.20250131-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,224 kB
  • sloc: ansic: 19,901; sh: 4,600; yacc: 1,177; awk: 853; makefile: 290
file content (26 lines) | stat: -rw-r--r-- 723 bytes parent folder | download | duplicates (11)
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
# Ben Myers <0003571400@mcimail.com>

# Sum up number, line count, and sizes of SOURCE files in current directory
# run with 
#       bmawk -fsrcsize.awk workfile
# or similar command syntax with your awk program
# where workfile is a work file
BEGIN {
# redirection done by shelled command
# system("dir *.* >workfile")
system("dir *.* >" ARGV[1])
ssize = 0   # size accumulator
slines = 0  # line counter
scount = 0  # obj counter
}
# Now read workfile back in
$2 == "C" || $2 == "H" || $2 == "CPP" || $2 == "HPP" {
	filename = sprintf("%s.%s", $1, $2)
	ssize += $3
	while (getline < filename > 0) {slines++}
	scount++
	}
END {
print scount " files, " slines " lines, total size " ssize " bytes"
system("del " ARGV[1])
}