The art of the one line script, originating in awk and passing through Perl lives on in Ruby!
WomanWithCat:4c grahamellis$ awk '/Upper/{c++}; END { print(c,"of",NR)}; BEGIN {c=0}' rstats2015.txt
5 of 2537
WomanWithCat:4c grahamellis$
WomanWithCat:4c grahamellis$ perl -n -e '$c++ if /Upper/; END { print("$c of $.\n")}; BEGIN {$c=0}' rstats2015.txt
5 of 2537
WomanWithCat:4c grahamellis$
WomanWithCat:4c grahamellis$ ruby -n -e 'c += 1 if /Upper/; END { puts "#{c} of #{$.}"}; BEGIN {c=0}' rstats2015.txt
5 of 2537
WomanWithCat:4c grahamellis$
I'm not a great one to encourage short scripts like this in general use ... but as a teaching exercise they're interesting in showing the flexibility of the language, and occasioanally used in a shell script, they can save the whole script having to be moved to another language just because of one analysis / calculation needed.
(written 2016-05-20)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
R110 - Ruby - Special Variables and Pseudo-Variables [990] Ruby - Totally Topical - (2006-12-16)
[1586] Variable types in Ruby - (2008-03-21)
[1587] Some Ruby programming examples from our course - (2008-03-21)
[1891] Ruby to access web services - (2008-11-16)
[2296] Variable scope - what is it, and how does it Ruby? - (2009-07-18)
[2613] Constants in Ruby - (2010-02-01)
[2623] Object Oriented Ruby - new examples - (2010-02-03)
[3757] Ruby - a teaching example showing many of the language features in short but useful program - (2012-06-09)
[4502] Reading and parsing a JSON object in Ruby - (2015-06-01)
A166 - Web Application Deployment - Linux Utilities [63] Almost like old times - (2004-09-26)
[71] Comparators in Linux and Unix - (2004-10-03)
[1361] Korn shell course - (2007-09-22)
[1366] awk - a powerful data extraction and manipulation tool - (2007-09-25)
[1690] Conversion of c/r line ends to l/f line ends - (2008-06-28)
[2145] Using the internet to remotely check for power failure at home (PHP) - (2009-04-29)
[2320] Helping new arrivals find out about source code examples - (2009-08-03)
[2484] Finding text and what surrounds it - contextual grep - (2009-10-30)
[2638] Finding what has changed - Linux / Unix - (2010-02-17)
[3446] Awk v Perl - (2011-09-18)
[3764] Shell, Awk, Perl of Python? - (2012-06-14)
[3902] Shell - Grep - Sed - Awk - Perl - Python - which to use when? - (2012-10-22)
[4586] Extending your bash shell with aliases, functions and extra commands - (2015-11-28)
P210 - Perl - Topicalization and Special Variables [493] Running a Perl script within a PHP page - (2005-11-12)
[639] Progress bars and other dynamic reports - (2006-03-09)
[969] Perl - $_ and @_ - (2006-12-07)
[1136] Buffering output - why it is done and issues raised in Tcl, Perl, Python and PHP - (2007-04-06)
[1221] Bathtubs and pecking birds - (2007-06-07)
[1232] Bathtub example - (2007-06-14)
[1289] Pure Perl - (2007-08-03)
[1444] Using English can slow you right down! - (2007-11-25)
[1508] How not to write Perl? - (2008-01-15)
[1704] Finding operating system settings in Perl - (2008-07-10)
[1705] Environment variables in Perl / use Env - (2008-07-11)
[1728] A short Perl example - (2008-07-30)
[1829] Dont bother to write a Perl program - (2008-10-10)
[1860] Seven new intermediate Perl examples - (2008-10-30)
[1922] Flurinci knows Raby Lae PHP and Jeve - (2008-12-04)
[2833] Fresh Perl Teaching Examples - part 2 of 3 - (2010-06-27)
[2876] Different perl examples - some corners I rarely explore - (2010-07-18)
[2972] Some more advanced Perl examples from a recent course - (2010-09-27)
[3449] Apache Internal Dummy Connection - what is it and what should I do with it? - (2011-09-19)
[4301] Perl - still a very effective language indeed for extracting and reporting - (2014-09-20)
[4395] Preparing data through a little bit of Perl - (2015-01-15)
[4700] Obfurscated code - it might work, but is it maintainable? - (2016-07-02)
Some other Articles
Melksham Station - as at May 2016 - Part 3Melksham Station - as at May 2016 - Part 2Melksham Station - as at May 2016 - Part 1Saudi Arabia or Weymouth?One line scripts - Awk, Perl and RubyRuby testing with RSpec - a new exampleProcessing data line by line - iterator in Ruby with yieldReading in XML in Ruby with xmlsimpleExpect with Ruby - a training example to get you startedSwindon, Chippenham and Melksham - day trips by train to Weymouth start for 2016