tr equivalent to sed command
Patrick O'Callaghan
pocallaghan at gmail.com
Sat Feb 25 23:58:33 UTC 2012
On Sat, 2012-02-25 at 17:29 +0900, 夜神 岩男 wrote:
> On 02/25/2012 12:43 PM, Patrick O'Callaghan wrote:
> > On Fri, 2012-02-24 at 21:22 +0900, 夜神 岩男 wrote:
> >> I'm trying to move a script from invoking lots of sed and awk to bash
> >> builtins and I'm stumped on something I'm sure is simple.
> >>
> >> Is there a tr equivalent to the following?
> > [...]
> >
> > You realize that tr is not a Bash builtin, right?
>
> No, I didn't check, actually, thanks for pointing that out. The tr
> command is probably easier for some of the younger folks who will have
> to read this later on[1]. Now I'm curious and might run some tests on
> the two versions and see which is quicker -- though that's totally not
> the point with scripting (well, isn't supposed to be, anyway).
>
> -IY
>
> 1. Rantesque continuation:
> ...as they seem so allergic to learning one or two sed commands that
> they will instead implement a parse/convert library from scratch in
> their favorite vanity language complete with intermediate working files
> and locks... and viola, new dependencies, attack vectors, opportunities
> for frozen jobs, etc are born.
Quite. It's a matter of developing a nose for the right combination of
tools. In Unix/Linux there's rarely one right answer, but there are many
many wrong ones. Good programmers learn good taste :-)
Somewhat OT:
The other day I came on a nice little problem which at first glance one
would think could be solved directly in Bash:
Given a string constructed as: <prefix><marker><remainder>
Where <marker> is a string matching a (fixed) regular expression and
<prefix> is arbitrary but does not match the RE, return only the
<prefix>.
I convinced myself that the "=~" operator in Bash could handle this, but
it made my head spin. I wound up writing 3 lines of Python (no doubt the
Perlistas out there could do it in one). It not only worked but it's
obviously correct, a property not to be sneezed at.
poc
More information about the users
mailing list