Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^2: search/replace one liners without clobbering

by f77coder (Beadle)
on Feb 26, 2016 at 02:04 UTC ( [id://1156169]=note: print w/replies, xml ) Need Help??


in reply to Re: search/replace one liners without clobbering
in thread search/replace one liners without clobbering

yes bool would get mangled, also any print f gets mangled as well if rint is replaced.

cases are

prefix 'c' OR 'f' OR both or neither suffix, 'l' OR 'f' OR both or neither

Replies are listed 'Best First'.
Re^3: search/replace one liners without clobbering
by FreeBeerReekingMonk (Deacon) on Feb 26, 2016 at 21:38 UTC
    You asked for a oneliner, which by I think you mean to give each function separately, so for "exp", it would be:

    perl -pi -e 's/\bc?${tgt}[fl]?\b/$tgt/g' -s -- -tgt=exp *.c;

    The problem is fabs, which means you need to consider it separately:

    perl -pi -e 'for $tgt(qw(exp log pow sqrt sin cos tan asin acos atan sinh cosh tanh asinh acosh atanh)){ s/\bc?${tgt}[fl]?\b/$tgt/g };s/\b[cf]abs[fl]?\b/fabs/g' *.c;

    addendum, with the | or you wanted, it would be:

    perl -pi -e 's/\bc?(exp|log|pow|sqrt|sin|cos|tan|asin|acos|atan|sinh|c +osh|tanh|asinh|acosh|atanh)[fl]?\b/$1/g; s/\b[cf]abs[fl]?\b/fabs/g'

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1156169]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2024-04-19 15:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found