Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Stupid regex question



Josh ChaitinPollak wrote:
> I'm trying to detect the presence of a word on a line using sed. Is  
> there a way to say something like, 'if the match fails, don't return  
> anything'? For example:
> 
> pardsbane $ echo "this is a -p param test" | sed -e 's/.*\-p \([a-z]* 
> \).*/\1/'
> param
> pardsbane $ echo "this is a param test" | sed -e 's/.*\-p \([a-z]* 
> \).*/\1/'
> this is a param test

$ echo "this is a param test" | sed -e 's/.*\-p \([a-z]* \).*/\1/ ; t ; 
d' | sed -e 's/^\-p //'
$ echo "this is a -p param test" | sed -e 's/.*\-p \([a-z]* \).*/\1/ ; t 
; d' | sed -e 's/^\-p //'
param

("t" means "if the last regexp matched, branch to the end of the 
script"; "d" means "delete the whole pattern space")




BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org