FreeBSD - Tutorials, Security
Home   Archives   Sitemap   About   Contact

Playing with GREP: grepping out lines that start with empty space

Home NEW! Unix Forum News 100 Tips and Tricks Website Development Server Operating Systems Databases
 Ivorde.ROarrow Server Operating Systems arrowAdministration GuidesarrowPlaying with GREP: grepping out lines that start with empty space 

Article Sections

    Hello, Guest !
User name:
Password:
 
Google

 SSD VPS Hosting - Vpsie.com
 Mo.nitor.me
 Ivorde forum
 FreeBSD Tutorials
 Linux LVM Commands
 Free Shell Accounts
 FreeBSD Project
 FreeBSD Handbook
 Advanced Bash-Scripting Guide
 The OpenBSD Project
 Distrowatch
 FreeBSD Handbook


Apache Webserver Home Page

Posted on: 13 Mar 2008
Author: mandrei
Section: Server Operating Systems | Administration Guides
Views: 1369
Comments: 1 (Add)

Playing with GREP: grepping out lines that start with empty space
lines that start with empty space, grep, empty space, regular expressions

 



Working with config files or with lots of output lines could be quite dificult sometimes, specially if you need to filter out lines based on regular expressions.

How to filter lines that start with empty(blank) space

Let's say we have a file containing IP addresses and some lines start with the IP address and other lines start with "    IP" like the one below:

$ cat test
64.211.58.2
64.75.224.83
   64.66.4.108
   72.35.75.204
   77.91.224.3
77.91.224.13
   151.5.133.131
   193.24.215.135
193.254.203.58
   200.214.160.3
   202.96.5.29
202.99.32.43
   211.152.42.144

How to filter (grep out) lines that start directly with 77 or 193 or 64 is easy.  But let's say want to grep out the IP addresses that start with 193 and have an empty space before them:  "   193.24.215.135" (that starts with empty space):

$ cat test | grep '^[[:space:]][[:space:]]*193'
   193.24.215.135

What I did above was to grep out the lines that start with at least one empty space, followed by possibly more space and by 193.

Let's say we need to grep out all the IPs that start with 193 (with or without empty space at the beginning of the line):

$ cat test | grep '^[[:space:]]*193'
   193.24.215.135
193.254.203.58

Above I used grep to filter the lines that possibly start with empty space followed by 193.

How to output only lines that start with empty space  

$ cat test |grep '^[[:space:]]'
   64.66.4.108
   72.35.75.204
   77.91.224.3
   151.5.133.131
   193.24.215.135
   200.214.160.3
   202.96.5.29
   211.152.42.144

Of course, you need to play a little more with grep and regular expressions (a very interesting field, of course) in order to customize the output, depending on your situation.  Man grep and google:regular expressions or yahoo: regular expressions will be very usefull in this case.

Bookmarks: Echo "Playing with GREP: grepping out lines that start with empty space" around:
del.icio.usdiggFurlYahooMyWebGoogleBookmarksFaceBookTechnocratti
-------------------advertising-----------------

Other articles in Server Operating Systems / Administration Guides
» Freebsd - /var filesystem full because of pflog file
» How to empty/delete file content in Linux/BSD/Unix
» Unix,Linux,FreeBSD - How to rename a list of files, replacing spaces inside their names
» Ps show processes that were not started by INIT and are not kernel processes
» How to start/enable telnet on a FreeBSD server




Contact webmaster regarding this article
Register or Login to post your article
Hello, Guest ! You can Login or Register to www.ivorde.ro!

 Post comment:

Name:
Title:
Comment:
Please type the word you see in the image (anti-spam verification). Refresh the page if you don't understand the word.
Allowed HTML Tags for comments:<p><strong><em><u><h1><h2><h3><h4><h5><h6><img><li>
<ol><ul><span><div><br><ins><del>

1 comment(s) to Playing with GREP: grepping out lines that start with empty space:

1. Re: Playing with GREP: grepping out lines that start with empty space
SysAdmin by Lucas at October 24th, 2008 - 13:32
That's a Useless Use of Cat. Don't waste time concatenating the file and piping it to grep when you can just do: "grep foo filename" and get the same thing.

That said, thanks for the tip on '[[:space:]]', didn't know I could do that and it was exactly what I needed.

   Latest topics on the forum:
 
   Most viewed articles:
How to copy a mysql database using mysqldump - 9375 views
How to change a user's password in AIX with the output from ECHO command - 8635 views
FreeBSD: Add/remove an additional IP alias - 5609 views
Qmail relay to smarthost: How to route all mail to a smarthost - 3929 views
Print queues in AIX 5L - How to list print queues in AIX - 2884 views

   Latest 10 articles:
Qmail relay to smarthost: How to route all mail to a smarthost - 03 Feb 2009
EXIM 4 relay to smarthost: How to route all mail except local domain - 03 Feb 2009
Windows XP: print LISTEN ports and network connections using netstat - 30 Jan 2009
How to cut out first last n characters from each file name, from a filelist - 04 Nov 2008
Mozilla Firefox3 is now released - 18 Jun 2008
How to switch lower case to upper case and upper case to lower case in a string - 17 Jun 2008
How to rename files/directories to uppercase/lowercase character names - 17 Jun 2008
How to convert lower case to upper case letters in a shell script/command - 17 Jun 2008
Unix,Linux,FreeBSD - How to rename a list of files, replacing spaces inside their names - 12 Jun 2008
How to change a user's password in AIX with the output from ECHO command - 21 May 2008


Archives
» 2007  |  June  |  October  |  November  |  December
» 2008  |  January  |  February  |  March  |  April  |  May  |  June  |  November
» 2009  |  January  |  February



Home | Archives | Sitemap | About | Contact

Designed and developed by Andrei Manescu. Optimized for Mozilla Firefox.  
Copyright 2007 Andrei Manescu
All trademarks and copyrights on this page are owned by their respective owners. Comments are owned by those who posted them.
Valid W3 Document Valid XHTML 1.0 Transitional Valid CSS! The FreeBSD Project Viewable With Any Browser