Interests: Regular Expressions, Linux CLI one-liners, Scripting Languages and Vim
Well, I’m not going to even try understanding the various features used in that sed
command. I do know how to use basic loops with labels, but I never bothered with all the buffer manipulation stuff. I’d rather use awk/perl/python for those cases.
This might work, but I think it is best to not tinker further if you already have a working script (especially one that you understand and can modify further if needed).
perl -pe 's/\[[^]]+\]\((?!https?)[^#]*#\K[^)]+(?=\))/lc $&=~s:%20|\d\K\.(?=\d):-:gr/ge'
Hmm, OP mentioned “Only edit what’s between parentheses” - don’t see anywhere that whole URL shouldn’t be changed…
Here’s a solution with perl
(assuming you don’t want to change http/https after the start of (
instead of start of a line):
perl -pe 's/\[[^]]+\]\(\K(?!https?)[^)]+(?=\))/lc $&=~s|%20|-|gr/ge' ip.txt
e
flag allows you to use Perl code in the substitution portion.\[[^]]+\]\(\K
match square brackets and use \K
to mark the start of matching portion (text before that won’t be part of $
)(?!https?)
don’t match if http
or https
is found[^)]+(?=\))
match non )
characters and assert that )
is present after those characters$&=~s|%20|-|gr
change %20
to -
for the matching portion found, the r
flag is used to return the modified string instead of change $
itselflc
is a function to change text to lowercaseGNU datamash (https://www.gnu.org/software/datamash/alternatives/) - handy tool for data munching. There’s also https://github.com/BurntSushi/xsv
Check out my chapter on GNU grep BRE/ERE for those wanting to learn this regex flavor: https://learnbyexample.github.io/learn_gnugrep_ripgrep/breere-regular-expressions.html (there’s also another chapter for PCRE)
I use Vim ;)
Python itself provides IDLE, which is good enough for beginners. https://thonny.org/ is another good one for beginners.
As mentioned by others, Jetbrains is good for many languages. https://www.kdevelop.org/ is another option.
I wish you success. I’m happy to use SimpleScreenRecorder(https://github.com/MaartenBaert/ssr).
I have a list of learning resources for CLI tools and scripting here: https://learnbyexample.github.io/curated_resources/linux_cli_scripting.html
I’ve also written a few TUI interactive apps to practice text processing commands like grep, sed, awk, coreutils, etc: https://github.com/learnbyexample/TUI-apps
Why do you think it is a phishing link? Gumroad is a well known platform to sell digital goods.
I mention it is free up to some date because it will go back to being a paid product after that.
Not my blog, just sharing it here.
That said, I don’t see that broken rectangle on Chromium.
Is it regex or sed/awk syntax (or both) that gives you trouble?
I had similar reaction and didn’t even try to learn them for years - then I caught the stackoverflow craze of answering CLI questions (and learning from others).
oxipng, pngquant and svgcleaner for optimizing images
auto-editor for removing silent portions from video recordings
Not my blog, just sharing it here. Saw it on HN (https://news.ycombinator.com/item?id=40419325)
What’s the difference between two_percent and skim?
Check out https://novelwriter.io/
I’m not familiar with such softwares (I use pandoc for technical writing), but might help you…
Yeah, it is uncommon spelling, but if you google, you’ll find it’s not that rare ;)
You’re welcome, happy learning :)
Not my site, just sharing a link I saw on HN.