bug-bash
[Top][All Lists]
Advanced

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

Re: Question about patterns


From: Roman Rakus
Subject: Re: Question about patterns
Date: Thu, 23 Jun 2011 16:56:23 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Lightning/1.0b3pre Thunderbird/3.1.9

On 06/23/2011 03:59 PM, Steven W. Orr wrote:
I may be wrong, but I think there's a way to do what I want without using a regex.

I have a file called foo-1.2-3.tar.gz
I need to set a variable equal to
foo-1.2-i386-x86_64-3.tar.gz

Is there a way to do this without parsing my brains out? I am facile with the variable operations like # ## % %% and /, but what I really want to do is to say something like

bar=${foo/-([1-9]).tar.gz/-i386-x86_64-\1.tar.gz}

where the \1 is some sort of thing that I can use to refer to a backref. Does this exist in bash or do I just do it with a regex?

TIA :-)

Pattern matching in [[ expression ]] and BASH_REMATCH variable are your friends (using regex). Anyway, it's possible to do it with parameter expansions. In two steps or so...

RR



reply via email to

[Prev in Thread] Current Thread [Next in Thread]