Article from Tech Republic


Subject: Article from Tech Republic
From: Mike Barsalou (mbarsalou@aidea.org)
Date: Tue Apr 02 2002 - 07:56:38 AKST


Here is a reprint from Tech Republic:

 
 EXPLORING THE GREP COMMAND
 
 Perhaps one of the most useful and powerful tools on any Linux system
is the grep command. The grep command is a tool that searches through
input and reports any matches based on a specified search criteria. The
grep command is used in pipes or directly against either a single file
or multiple files. It can even search recursively through all of the
files in a directory or subdirectory.
 
 Like nearly all Linux commands, grep has a large number of options;
 however, only a few are shown. For example, the following command
searches through all files ending in .txt for the string Linux:
 
 # grep -n Linux *.txt
 
 It will display the number of the line in the file on which it was
 found, for example:
 
 myfile:8:this has something to do with Linux
 
 It shows that the file myfile.txt contains the string Linux on line
 eight. If you want to suppress the output somewhat and obtain only the
 filename itself, you would use:
 
 # grep -l Linux *.txt
 myfile.txt
 
 Only the filename is returned here. To see how many lines contained the
 search string, you would use:
 
 # grep -c Linux *.txt
 myfile:1
 
 This shows that Linux was found on one line in the file. You can also
 use grep in pipes, like this:
 
 # cat /var/log/messages|grep kernel
 
 This would display any lines containing the string "kernel" from the
 output of the cat command. You can use regular expressions with grep as
 well:
 
 # grep -E '^Jan.*su\(' /var/log/messages
 Jan 1 01:51:11 logan su(pam_unix)[28813]: session opened for user root
 by joe(uid=0)
 Jan 2 21:26:40 logan su(pam_unix)[28813]: session closed for user root
 
 This tells grep to find any matches in the /var/log/messages file,`
which start with Jan at the beginning of the line, followed by any
number of characters and that also contain su( on the same line.



This archive was generated by hypermail 2a23 : Tue Apr 02 2002 - 07:55:20 AKST