-
Notifications
You must be signed in to change notification settings - Fork 0
/
cntloc.sh
20 lines (20 loc) · 842 Bytes
/
cntloc.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cntloc()
{
echo "Count lines of code in almost any plain text file. Will not handle block comments correctly."
echo "You may have to escape the comment character if it is part of the bash syntax."
if [ $# -lt 2 ]; then
echo 1>&2 "$0: not enough arguments"
s='Supply the filename and the first comment character (e.g., # / % ; C * !)'
echo "${s//;\; //#\# ///\/ //%\% //!\!}"
t='Usage: cntloc init.el \;'
echo "${t//;\; //#\# ///\/ //%\% //!\!}"
return 2
elif [ $# -gt 2 ]; then
echo 1>&2 "$0: too many arguments"
s='Supply the filename and the first comment character (e.g., # / % ; C * !)'
echo "${s//;\; //#\# ///\/ //%\%}"
t='Usage: cntloc init.el \;'
echo "${t//;\; //#\# ///\/ //%\%}"
fi
/opt/local/bin/python3.11 -c "print(sum(1 for line in open('$1','r') if ( (line.strip()) and (line[0] != '$2') ) ))"
}