this post was submitted on 15 Apr 2025
22 points (95.8% liked)
Linux
53617 readers
1452 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This weired me out until I read the explanation. I'm so used to the slashes lol
In the end I've used the first command you wrote, because KISS, but I appreciate your explanation
Yes that's been my only source so far, but to be honest it's really cryptic. it might just be that I'm used to syscalls man pages (also sed is kinda complex it can't be easy to write a single man page for it)
There’s no shame in combining multiple tools, that’s what pipelines are all about 😄.
Also there’s a different tool that I would use if I want to output a specific column:
awk
For lines matching
/dev/dm-2
print the first column.awk
splits columns on whitespace by default.But I would probably use grep+awk.
Sed is definitely a very powerful tool, which leads to complex documentation. But I really like the filtering options before using the search/replace.
You can select specific lines, with regex or by using a line number; or you can select multiple lines by using a comma to specify a range.
E.g.
/mystring/,100s/input/output/g
: in the lines starting from the first match of/mystring/
until line100
, replaceinput
withoutput
Not at all, but some times it's just funny
Yep, learning this made sed even more useful to me.
I also gave awk a try and now i know what i've missed all these years
(Also, sorry for the 12 days old reply :))