Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Sep 2001 00:21:34 -0400
From:      "David S. Jackson" <dsj@sylvester.dsj.net>
To:        freebsd-questions@freebsd.org, ale@ale.org, kplug-list@kernel-panic.org
Subject:   regex w/ sed and bash expression
Message-ID:  <20010927002134.A30622@sylvester.dsj.net>

next in thread | raw e-mail | index | archive | help
Hi,

I'm trying to make a variable expand to include a list of
filenames with braces and parens as part of the filename.  (The
files are mp3s with brackets and parens, etc, in the filenames
themselves.)  I just want the resulting expansion to insert an
escape character infront of spaces and special characters so the
shell can find them.

Example:  don mclean - american pie (uncut version).mp3
and [John Wayne]-[Pledge_of_Allegiance].mp3

What I've got so far is:

 *** snip ***
files=`cat listofwavs.txt | sed -e 's/\([( )\]]\)/\\1/gp'`

burncd -f /dev/acd1c -s ${cdrspeed} -e audio   \ 
"${audiopath}/${files}" fixate
 *** snip ***

But if I go echo "[" | sed -e 's/\([( )\]]\)/\\1/gp' it just
returns "[" without the escape.  :-( 

The group I want to catch is " ", "(", ")", "[", "]".

I want the expansion to create "\ ", "\(", "\)", "\[", "\]".

Any ideas? 

TIA.

--
David S. Jackson                        dsj@dsj.net
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
I base my fashion taste on what doesn't itch.
		-- Gilda Radner

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010927002134.A30622>