diff options
author | David A. Wheeler <dwheeler@dwheeler.com> | 2013-08-25 08:16:13 -0400 |
---|---|---|
committer | David A. Wheeler <dwheeler@dwheeler.com> | 2013-08-25 08:16:13 -0400 |
commit | ba8f663f16c3e8c4abd2ef7ec5966a7dc338b962 (patch) | |
tree | c86c5d0b270f81c1fb72b5bb4a3db277ad2bd1e1 /count_extensions | |
download | sloccount-git-ba8f663f16c3e8c4abd2ef7ec5966a7dc338b962.tar.gz |
Initial commit of version 2.26.
Diffstat (limited to 'count_extensions')
-rwxr-xr-x | count_extensions | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/count_extensions b/count_extensions new file mode 100755 index 0000000..1547d3f --- /dev/null +++ b/count_extensions @@ -0,0 +1,56 @@ +#!/usr/bin/perl -w + +# Read from standard input a list of filenames, and +# report a sorted list of extensions and filenames +# (most common ones first). + +# The format is "name count", where "count" is the number of appearances. +# "name" usually begins with a "." followed by the name of the extension. +# In the case where the filename has no extension, the name begins with "/" +# followed by the entire basename. + +# This is part of SLOCCount, a toolsuite that counts +# source lines of code (SLOC). +# Copyright (C) 2001-2004 David A. Wheeler. +# +# 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. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# To contact David A. Wheeler, see his website at: +# http://www.dwheeler.com. +# +# + +%extensions = (); + +while (<>) { + if (m/\.([^.\/]+)$/) { + $type = $1; + chomp($type); + $type = ".$type"; + if (defined($extensions{$type})) { $extensions{$type}++; } + else { $extensions{$type} = 1; } + } elsif (m!/([^/]+)$!) { + $filename = $1; + chomp($filename); + $filename = "/$filename"; + if (defined($extensions{$filename})) { $extensions{$filename}++; } + else { $extensions{$filename} = 1; } + } +} + +foreach $entry (sort {$extensions{$b} <=> $extensions{$a}} keys %extensions) { + print "${entry} $extensions{$entry}\n"; +} + |