The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #3 (permalink)  
Old 04-20-2008
era era is offline Forum Advisor  
Herder of Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: /there/is/only/bin/sh
Posts: 3,652
I recently responded to a similar question of yours here: Shell script to search for text in a file and copy file

Code:
#!/bin/sh

case $# in 0|1) echo "syntax: $0 date files ..." >&2; exit 2;; esac

date=$1
shift

awk -v d="$date" '$0 ~ d' "$@"
This expects the date as the first parameter, and a list of files as the remaining parameters. Those are passed through to awk in "$@" after the first argument (the date) has been shifted off and passed to the awk script as a variable.

I took out the { print } because that is the default action; this is probably less readable, so if you don't use awk much, it might be safer to leave it in.

Of course, this simple script is exactly equivalent to grep without any options or other bells & whistles.

Last edited by era; 04-20-2008 at 01:45 PM.. Reason: Fix case statement to accept more than one file, duh