Sponsored Content
Top Forums Shell Programming and Scripting [FUN] Get some stats of your project/s Post 302943255 by sea on Wednesday 6th of May 2015 08:50:40 PM
Old 05-06-2015
[FUN] Get some stats of your project/s

Heya

Ever wanted to have some basic stats of your projects?
Like:
Code:
./stats.sh 
########################################
	Project stats for "tui"
########################################
260 kb	in bin
24 kb	in conf.etc
12 kb	in conf.home
32 kb	in docs/samples
176 kb	in docs/wiki
280 kb	in docs
192 kb	in man
1984 kb	in screenshots
12 kb	in templates/manpage
32 kb	in templates/scripts
12 kb	in templates/usr
64 kb	in templates
36 kb	in themes
13 folders with a total of 3116 kbytes
########################################
Spread across 190 files, there are:
Lines Total: 		 14542
Comment lines: 		 2409
Blank lines: 		 201
Avrg lines p. file: 	 76

Was created using these few lines:
Code:
#!/bin/bash
#
#	Vars
#
	LINER="########################################"
	COMMENTS=0
	LINES=0
	BLANKS=0
#
#	Action
#
	echo "$LINER"
	echo -e "\tProject stats for \"$(basename $PWD)\""
# Size
	echo "$LINER"
	for DIR in * ; do [ -d "$DIR" ] && LIST+=" $DIR" ; done
	du $LIST  | awk '{print $1" kb\tin "$2;SUM=SUM+$1} END {print NR" folders with a total of "SUM" kbytes"}'
# Files
	echo "$LINER"
	FILES=$(find|grep -ve ".git" -ve ".jpg"| wc -l)
	echo "Spread across $FILES files, there are:"
# Lines
	for F in $(find|grep -ve ".git" -ve ".jpg")
	do	[ -f "$F" ] && \
			COMMENTS=$(( $COMMENTS + $(grep ^"#" "$F" | wc -l) )) && \
			LINES=$(( $LINES + $(cat "$F" | wc -l) )) && \
			BLANKS=$(( $BLANKS + $(grep ^[[:space:]]$ "$F" | wc -l) ))
	done
# Summary
	echo -e "Lines Total: \t\t $LINES"
	echo -e "Comment lines: \t\t $COMMENTS"
	echo -e "Blank lines: \t\t $BLANKS"
	echo -e "Avrg lines p. file: \t $(( $LINES / $FILES ))"

I wanted to share it when i wrote it, but figured i didnt.

Have fun
 

6 More Discussions You Might Find Interesting

1. News, Links, Events and Announcements

Fun with FreeBSD

Fun With Automounting on FreeBSD Link: Nice tips for FreeBSD Unix. http://ezine.daemonnews.org/200202/automounting.html (2 Replies)
Discussion started by: killerserv
2 Replies

2. Solaris

SSH doesn't pick up user's project from /etc/project

We have a system running ssh. When a user logs in, they do not get the project they are assigned to (they run under "system"). I verify the project using the command "ps -e -o user,pid,ppid,args,project". If you do a "su - username", the user does get the project they are assigned to (and all... (2 Replies)
Discussion started by: kurgan
2 Replies

3. What is on Your Mind?

fun scripts

Lets get a list of everyones funny scripts (8 Replies)
Discussion started by: JamieMurry
8 Replies

4. Solaris

what is the use of /etc/project file and project administration commands?

i have two doubts.. 1. what is the use /etc/project file. i renamed this file and when i tried to switch user or login with some user account the login was happening slowly. but when i renamed it to original name it was working fine... why so? 2. unix already has useradd and grouadd for... (4 Replies)
Discussion started by: chidori
4 Replies

5. News, Links, Events and Announcements

A new project was posted on The UNIX and Linux Forums project board.

A new project was posted on your project board. Project title: Bash Shell Tutoring Estimated Budget: $50/hr Start date: Immediately Required skills: Linux, Bash, Shell, UNIX I work as a datawarehouse designer and developer. Although I usually stick to the role of an analyst,... (0 Replies)
Discussion started by: Neo
0 Replies

6. Shell Programming and Scripting

FINDING DUPLICATE PROJECT ( directory project )

I have a project tree like that. after running find command with the -no -empty option, i am able to have a list of non empty directory DO_MY_SEARCH="find . -type d -not -empty -print0" MY_EXCLUDE_DIR1=" -e NOT_IN_USE -e RTMAP -e NOT_USEFULL " echo " " > $MY_TEMP_RESULT_1 while... (2 Replies)
Discussion started by: jcdole
2 Replies
POLYGRAPH-CMP-LX(1)						   User Commands					       POLYGRAPH-CMP-LX(1)

NAME
polygraph-cmp-lx - log comparison tool SYNOPSIS
cmp-lx.pl [--precision=percent] [--scope=important|all] <f1.lx> <f2.lx> DESCRIPTION
Cmp-lx compares results from two tests and prints stats that differ significantly. With important scope some stats are ignored. The follow- ing events are not important: *.last *.min and *.max except for *.hist.min and *.hist.max *.mean if there is corresponding *.hist.mean rare events Histogram and errors are important. Rare events are events that happened in less than 0.1% of the cases where they could have occurred. Measurements related to such events are not important. Event rate is calculated using xact.started measurement as total count. List of events: basic offered hit miss cachable uncachable fill ims reload range head post put abort page ssl ftp 100_continue proxy_validations auth tunneled proxy_validation rep req OPTIONS
--precision=percent difference threshold in percent, default: 10 --scope=important|all which stats to compare, default: important COPYRIGHT
Copyright (C) 2003-2006 The Measurement Factory, Inc. SEE ALSO
polygraph(7) - general information and a list of programs http://www.web-polygraph.org/ - project web site polygraph-cmp-lx - Web Polygraph February 2010 POLYGRAPH-CMP-LX(1)
All times are GMT -4. The time now is 03:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy