Path: csiph.com!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Salvador Mirzo Newsgroups: comp.unix.shell Subject: Re: a sed question Date: Sat, 21 Dec 2024 15:21:13 -0300 Organization: A noiseless patient Spider Lines: 56 Message-ID: <87ttawsxra.fsf@example.com> References: <874j304vv3.fsf@example.com> <87ed21xmb3.fsf@example.com> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Sat, 21 Dec 2024 19:21:18 +0100 (CET) Injection-Info: dont-email.me; posting-host="8ab0f9bb6a641d06ae3cef60720a1687"; logging-data="190961"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+dB2WF+u1GPFB50Sh3gtDmDJ9WtL9byvI=" Cancel-Lock: sha1:Wn+0GkY27iOqBg1q7oqImPak0PQ= sha1:1m8aLSoqqJ1HGG7XYpnleBnPVlk= Xref: csiph.com comp.unix.shell:25999 Andy Walker 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.