Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Issue with Grep

Posted by mescorpion (mescorpion), 17 June 2005
i am trying to findout blank lines in a file... using grep...

grep -n "^$" filename

will work fine...
but what if there are blank spaces are tabs...
so i modified the my pattern to say:

grep -n "^[ \t]*$" filename

but this is not working...

any suggestions...what should be the reg exp...
even "^[ ]*$" is working fine and able to findout lines with blank spaces..

but \t is not working...

please suggest...

one more quest... is there any way which can count the number of occurences of the pattern... grep -c will count the number of lines containing pattern rather than counting how many times it occurred...

Posted by admin (Graham Ellis), 17 June 2005
You're in the Perl forum ... but you're asking a question about the command line "grep" utility of Unix and / or Linux, right?  ((Just asking for a confirmation because there's also a grep built in to Perl! ))

On the command line ... firstly, I would use single quotes rather than double quotes around the regular expression.   That way, you'll be able to get all your special character sequences through to grep rather than have the shell deal with some of the special characters.

I would write
    egrep   '^[[:space:]]*$'   filename
on the system I'm using today to allow for any combination of white spaces to make up the blank line, and also I find that form more readable.

Count of occurrences rather than lines ... write a Perl program:

#!/usr/bin/perl -n
$c++ while(/abcd/g);
BEGIN { print $c; }

should do it (looking for "abcd" in files named on the command line)

Posted by mescorpion (mescorpion), 17 June 2005

sorry...  i didnt find any UNIX or Linux forum thread here...
so just posted in this section...

This page is a thread posted to the opentalk forum at and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2023: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: • WEB: • SKYPE: wellho