you are viewing a single comment's thread
view the rest of the comments
[–] 33 points 11 months ago (11 children)

Somehow, despite being the standard it doesn't come installed by default in any distro I've tried.

They all insist you use sed... that bloated thing!

  • source
  • hideshow 11 child comments
  • [–] 22 points 11 months ago (2 children)

    ed and sed arre different things. One edits files in place, interactively. The other edits streams i.e.batch processing.

    ed is the precursor to vi. Similar commands. It's just you can only work on one line at a time.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 19 points 11 months ago (1 child)

    One edits files in place, interactively. The other edits streams i.e.batch processing.

    You want sed -i -f -

    ed is also the precursor of sed, and of some other dozen of commands.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 5 points 11 months ago

    Yes ed begat sed, but sed works differently. It didn't replace ed. It did a different job.

    Ed loads the file into a buffer which you edit in a random access fashion and then save. Sed collects a list of commands and then streams the file line by line, executing the commands as they match lines. In your example nothing happens until you've entered the whole editing script.

  • source
  • parent
  • [–] [S] 13 points 11 months ago

    sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). While in some ways similar to an editor which permits scripted edits (such as ed), sed works by making only one pass over the input(s), and is consequently more efficient. But it is sed’s ability to filter text in a pipeline which particularly distinguishes it from other types of editors.

    I love the way they are selling this

    https://www.gnu.org/software/sed/manual/sed.html

  • source
  • parent
  • [–] 4 points 11 months ago (4 children)

    If your system has vi or a clone, try vi -e, or, if the symlink is set up, ex. Technically that's vi in ex mode, not ed per-se but it's about as similar as you're going to get without a lot of pointless bother.

  • source
  • parent
  • hideshow 4 child comments
  • [–] [S] 3 points 11 months ago (3 children)
  • [–] 4 points 11 months ago* (2 children)

    Comparison time!

    ex is to ed as nano is to pico

    That is, it's an editor that works in almost exactly the same way as the original, but it's by somebody else.

    ex is to vi as vi is to vim, or C to C++.

    That is, the latter grew out of and improved upon the former, but you can still use them like their forerunners if you really want, which is why vi has an ex mode and why you can still use pointers in C++ if you're sufficiently warped.

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 3 points 11 months ago (1 child)

    and how does qed, ed, ex and sed and grep relate to nano micro and pico in comparison? 🤔

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 11 months ago

    qed was also a line editor but pre-dated and inspired ed, so that's pico to nano or ed to ex again, just even further back in time.

    sed and grep grew out of commands within ed (or equivalent) so I guess you could say they're each kind of a knight's move two to the side and once backward from the direction of ex to vi. Backwards because they're simpler, but two to the side because they're not interactive.

    As to what would be "backward but one to the side" in that analogy, that'd be something like a tool that asked questions about every line in a file and made changes accordingly. I don't think there's any such standard tool, but I can think of at least a couple of ways to write one.

  • source
  • parent