I think most cli utilities support using -- (two dashes) to signify the end of the commands options. 

Example 

$ grep -- -t file.txt 



-------- Original message --------
From: canito at dalan.us 
Date: 12/06/2013  2:09 PM  (GMT-06:00) 
To: tclug-list at mn-linux.org 
Subject: [tclug-list] Count Number of Matched Patterns 
 
In the process of writing a script which I would like to count the  
number matched patterns (command line parameters).

The issue I am running into using grep is that the string has a dash  
in front, and it throws an error.

E.g:

./script -test

PATTERN=$1

egrep -ic $PATTERN --> egrep: invalid option -- 't'

awk and egrep work using a file, but not on a variable:

EXAMPLE=`awk '/test/ { nlines++ } {print nlines}' $PATTERN`

awk: cmd. line:1: fatal: cannot open file `-test' for reading (No such  
file or directory)

I know using and if command works, so am I just over doing it? What am  
I doing wrong?

if [[ $PATTERN == "-test" ]; then

Thanks in advanced!

Saul David Alanis




_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
tclug-list at mn-linux.org
http://mailman.mn-linux.org/mailman/listinfo/tclug-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mn-linux.org/pipermail/tclug-list/attachments/20131206/e2bb665a/attachment.html>