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
Debian::L10n::Debconf(3pm)				User Contributed Perl Documentation				Debian::L10n::Debconf(3pm)

NAME
Debian::L10n::Debconf - translation status of Debconf templates SYNOPSIS
use Debian::L10n::Debconf; my $tmpl = Debian::L10n::Debconf->new(); $tmpl->read_compact($file); my @languages = $tmpl->langs(); foreach (sort @languages) { my ($t,$f,$u) = $tmpl->stats($_); print "$_:${t}t${f}f${u}u "; } DESCRIPTION
This module extracts informations about translation status of Debconf templates files. METHODS
new This is the constructor. my $tmpl = Debian::L10n::Debconf->new(); read_compact Read a templates file containing all translations. An optional second argument may be used, any non-zero value tells that this file comes with translations in other files. In such a case no warning is raised if this file contains translated fields, because maintainer is assumed to be responsible for such translations. $tmpl->read_compact($file); read_dispatched Read templates contained in several files. First argument is the English file, all other arguments are translated templates files. @trans = qw(templates.de templates.fr templates.ja templates.nl); $tmpl->read_dispatched('templates', @trans); langs Return the languages in which this templates file is translated. my @list = $tmpl->langs(); filename When templates are dispatched into several files, return the filename in which the language passed as argument is found. my $filename = $tmpl->filename("de"); count Return the number of translatable strings in this templates file. my $number = $tmpl->count(); stats With an argument, return an array consisting of the number of translated, fuzzy and untranslated strings for the language given as argument. Without argument, return a hash array indexed by language and returning an array of the number of translated, fuzzy and untranslated strings. my ($t, $f, $u) = $tmpl->stats("de"); my %stats = $tmpl->stats(); foreach (keys %stats) { print $_.':'. $stats{$_}->[0].'t'.$stats{$_}->[1].'f'. $stats{$_}->[2]."u "; } entries Return an array containing all Debconf ids found in this templates file. my @ids = $tmpl->entries(); AUTHOR
Copyright (C) 2001 Denis Barbier <barbier@debian.org> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. perl v5.14.2 2011-03-30 Debian::L10n::Debconf(3pm)
All times are GMT -4. The time now is 04:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy