In the end I’ve used the first command you wrote, because KISS, but I appreciate your explanation
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
df -h —output=avail,source | awk ‘/\/dev\/dm-2/ {print $1}’
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 line 100
, replace input
with output
I get it, sometimes you just do something for the challenge.
It’s really great what you can accomplish when you know a little more than the bare minimum of the tools at your disposal (^^,)
And I had the same experience after learning a bit more about awk for the fist time, hahaha.