http://qs321.pair.com?node_id=1156284


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

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'