this post was submitted on 03 Oct 2025
560 points (97.1% liked)
Selfhosted
60210 readers
768 users here now
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
sedcan do a bunch of things, but I overwhelmingly use it for a single operation in a pipeline: thes//operation. I think that that's worth knowing.will replace all the first text in each line matching the regex "foo" with "bar".
That'll already handle a lot of cases, but a few other helpful sub-uses:
will replace all text matching regex "foo" with "bar", even if there are more than one per line
will take the text inside the backslash-escaped parens and put that matched text back in the replacement text, where one has '\1'. In the above example, that's finding all hexadecimal strings and prefixing them with '0x'
If you want to match a literal "/", the easiest way to do it is to just use a different separator; if you use something other than a "/" as separator after the "s",
sedwill expect that later in the expression too, like this:will replace all instances of a "/" in the text with "SLASH".