One trick that one of my students taught me a decade or so ago is to actually make an alias to list the useful flags.
Yes, a lot of us think we are smart and set up aliases/functions and have a huge list of them that we never remember or, even worse, ONLY remember. What I noticed her doing was having something like goodman-rsync that would just echo out a list of the most useful flags and what they actually do.
So nine times out of 10 I just want rsync -azvh --progress ${SRC} ${DEST} but when I am doing something funky and am thinking “I vaguely recall how to do this”? dumbman rsync and I get a quick cheat sheet of what flags I have found REALLY useful in the past or even just explaining what azvh actually does. And I just keep that in the repo of dotfiles I copy to machines I work on regularly.
oddlyqueer@lemmy.ml 6 months ago
This is why I still don’t know
sedandawksyntax lol. I eventually get the data in the shape I need and then move on, and never imprint how they actually work. Still feel like a script kiddie every time I use them (so once every few years).tal@olio.cafe 6 months ago
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.sed 's/foo/bar/'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:
sed 's/foo/bar/g'will replace all text matching regex “foo” with “bar”, even if there are more than one per line`sed ‘s/([0-9a-f]*)/0x\1/g’ 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:`sed ‘s%/%SLASH%g’ will replace all instances of a “/” in the text with “SLASH”.