Sujet : Re: a sed question
De : smirzo (at) *nospam* example.com (Salvador Mirzo)
Groupes : comp.unix.shellDate : 21. Dec 2024, 19:21:13
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <87ttawsxra.fsf@example.com>
References : 1 2 3 4
Andy Walker <
anw@cuboid.co.uk> writes:
On 21/12/2024 12:17, Salvador Mirzo wrote:
I'm studying and I often go back to the past to see what life was I
like. I initially tried to solve the problem with /ed/, but did not
find a way to insert a string coming from the a shell script's cmdline.
Then I thought that /sed/ was there to make /ed/ more scriptable.
>
I think the other contributors are somewhat harsh on Sed. For
those who started on V6 Unix, there was just Ed, and, as you thought,
Sed was added in V7 as a scripting improvement to Ed. Awk also came
in with V7. Some people adopted Awk with enthusiasm, but the early
versions were quite limited/buggy, partly thanks to the limitations of
the PDP-11; Sed was pretty reliable even in those days. So at least
some users tried and failed with Awk, but found Sed usable with very
little to learn, thanks to the relationship with Ed. The arcana of
Sed are much easier to understand if you are/were a regular user of Ed,
whereas Awk requires you to learn a whole new language [I'm not in any
way suggesting that that is unusually difficult].
It doesn't seem difficult to learn, but there could be so many different
implementations now that it could be a challenge to write a script and
distribute it around.
So students will normally no longer learn or use Ed/Sed, apart
perhaps from "s/foo/bar/" and similar; it makes more sense to learn a
visual editor and Awk. But for older hands, and for those interested
in the history, there is still a use for Sed.
History is my main thing here. I like to know how life was like. I
recently read ``Hackers'' by Steven Levy, 1984. (I was sad it ended.)
I have an open mind about software. I'm here on the USENET because I
discovered it in non-standard media. It turns out I find NNTP a much
better medium of discourse than any other. (I'm writing this from a GNU
EMACS buffer and will be send out using Gnus. Gnus can be dramatically
uninuitive, but there seems to be no real replacement for it when it
comes to USENET and perhaps mail.) It is noticeable that newer
generations are not really better at writing software compared to
previous generations. I wouldn't change make, for example, for newer
ones. Have you seen Gradle? What was that for? There's a website
whose slogan is ``newer is not always better''.
Personally, I know my way around Sed much better than Awk. So, again
personally, Sed is my stream editor of choice for tasks somewhat
harder than "s ...", but not so hard that I need to do some serious
programming and checking of the documentation. [YMMV, and I'm
certainly not trying to persuade any Awk users that they should learn
to use Sed instead.]
I actually know awk a little bit. I've read the ``AWK Programming
Language'' by Aho, Kernighan and Weinberger, 1988. I loved it. It
replaced pretty everything I used when shell scripting something. But
it doesn't feel right to ignore ed and sed. I need to know at least how
to use them for the essential cases. These tools incorporate a certain
way of thinking that's very valuable and knowing where they come from is
very valuable.