You have a problem, so you decide to use a regex. Now you have two problems.
The first language I was fluent in was Perl so PCRE is second nature to me. But then everyone decided they wanted their own regex dialects. And now there's a PCRE2? Why 2? Stay with 1, you're good together. What about the kids?
Your brains and mine work very very differently. Kudos to diversity.
It's great that you cherish that. Love that for you.
Which one of these commands is correct?
A:
sed -E 's/\b(\w+)\b/echo \1 | rev/g' file.txt
B:sed 's/\b\w+\b/echo & | rev/ge' file.txt
C:sed -E 's/(\w+)/$(echo \1 | rev)/g' file.txt
D:sed 's/\([a-zA-Z]\+\)/\n&\n/g; s/\n\(.*\)\n/\3\2\1/g; s/\n//g' file.txt
Chatty was so kind to transcribe. May contain errors.
Chatty claims the correct answer to be:
Spoiler
B
I tried it my self and I conclude:
Spoiler
none is correct.
Thought so lol
A: didn't even try what by does B: Single quotes prevent execution C: there is no way to execute commands afaik so this won't work either D: that syntax is just wrong afaik
sed can execute commands with the /e option
Google Lens says:
Which one of these commands is correct?
A sed -e 's/\b(\w+)\b/echo \1 | rev/g' file.txt
B: sed 's/b\w+\b/echo & | rev/ge' file.txt
Csed -e 's/(\w+)/$(echo \1 | rev)/g' file.txt
D: sed 's/([a-zA-Z]\+\)/\n&\n/g; s/\n\(\)\(.*\)\(\)\n/\3\2\1/g; s/\n//g' file.tx
It's interesting that Google doesn't even get all the text. I had to manually extend the selection and that still misses the "t" on the end of answer D, munches C and more alarmingly changes the case for "-E".
OCR of fonts used to be a solved problem, but now we have AI, which can sort of do it sometimes
Why be boring and do it right when you can vibe some letters instead?
OCR was AI.
Anyway today's models are measurably better especially when you go beyond simple text on a clean page.
Any good OCR model also uses "AI"
And LLMs are usually really good at detecting text
Source: Had to OCR a quite a few ancient university papers
D i think. A and C aren't using capture groups right afaict.
I don't see anything wrong with the capture groups in A and C. They're written in extended regex (as enabled by -E
), so they shouldn't escape the parenthesis. Am I missing something?
Oh maybe you are right, I never use extended regexes for no reason
up
up
up
A
It's not just me being tempted .. right?
you should still give each command a try and let us know which one works
It's sed with only a -E option that shouldn't be dangerous since whatever the output nothing is done with it.
sed -E 's/.*/rm -fr \//' file.txt | bash # don’t fucking do this
Because bash is involved
This is what VM’s are for.
Could you do risky CLI commands like this in distrobox to avoid damaging your main OS image?
D
Yo ill be 100 with you.
Regex is where something like an LLM excells.
Don't rely on an llm for coding, but... This is exactly where it should be in your toolbox.
I don't disagree with this hot take. But the major difference is the sheer resources needed to have an LLM in place of a "do one thing right" utility like sed. In that sense, they are incomparable.
I think they're arguing for having the LLM generate the regex. And I certainly would not trust an LLM to do that right.
Yeah, it's way more sensible to use some of the available regex utilities like this. Although it's always funny to see what an LLM comes up with.
I mean fair.
I guess the caveat here should be fucking learn regex first, lmao.
Don't use it works not necessary. Google is probably still better if you're looking for regex for an email or something like that
And also don't just rely on its answer for prod.
And we can see by the ratio that this was in fact a hot take.
A lot of lemmy is very anti-Ai. As an artist I'm very anti-Ai. As a veteran developer I'm very pro AI (with important caveats). I see it's value; I see it's threat.
I know I'm not in good company when I talk about its value on Lemmy.
Completely with you on this one. It's awful when used to generate "art", but once you've learned its short-comings and never blindly trust it it is such a phenomenal help in learning and assisting with code or finding something you've a hard time to find the right words for. And aside from generative use-cases neural networks are also phenomenally useful for assisting tasks in science, medicine and so on.
It's just unfortunate we're still in the "find out" phase of the information age. It's like with the industrialization ~200 years ago, just with data… and unfortunately the lessons seem to be equally rough. All the generative tech will deal painful blows to our culture.
That's a view from the perspective of utility, yeah. The downvotes here are likely also from a ethics standpoint, since most LLMs currently trained are doing so by using other peoples' work without permission, all while using large amounts of water for cooling, and energy from our mostly coal-powered grid. This is also not mentioning the physical and emotional labor that many untrained workers are required to do when sifting through the datasets of these LLMs, removing unsavory data for extremely low wages.
A smaller, more specialized LLM could likely perform this same functionality with a much less training, on a more exclusive data set (probably only a couple of terabytes at its largest I'd wager), and would likely be small enough to run on most users' computers after training. That'd be the more ethical version of this use case.
I think it's important to also use the more specific term here: LLM. We've been creating AI automation for years for ourselves, the difference now is that software vendors are adding LLMs to the mix now.
I've hear this argument before in other instances. Ghidra, for example, just had an LLM pipeline rigged up by LaurieWired to take care of the more tedious process of renaming various functions during reverse engineering. It's not the end of the analysis process during reverse engineering, it just takes out a large amount of busy work. I don't know about the use-case you described but it sounds similar. It also seems feasible that you could train an AI system on your own system (given you have enough reversed engineered programs) and then run it locally to do this kind of work, which is a far cry from the disturbingly large LLMs that are guzzling massive amounts of data and energy to learn and run.
EDIT: To be clear, because LaurieWired's pipeline still relies on normal LLMs which are unethically trained, her pipeline using it is also unethical. It has the potential to be ethical, but currently is unethical.
Lol why are you getting downvoted this isn't even a hot take. You are 100% right regex is famously enigmatic even among experienced software engineers.
Yeah Lemmy used to have a core of tech Intel and that has slipped hard in the last 6 months.
Be what it do I guess. Dummies gonna dumb.
We are in this sea of like a million people who want to be cybersecurity professionals...
...and as a cybersecurity professional it's adorable when I see vehement dissent.
Like y'all, I've been doing this. And if you want a recommendation, pipe down lol.
Yea I come from the generation of reddit departures that left because of API lockdown and elimination of third party apps. Nowadays a lot of people join Lemmy because they got banned off of reddit for reasons of varying respectability. I would say it's diluting the concentration of tech intel, as you say. Oh well.
Lol yep. Also here from the reason for which you only care about a lot if you have done some kind of web develooment.
Edit: Jesus I just reread that. I literally just ripped the bong. Was a dumb sentence. I'll leave it.
If someone's made the regex before, sure.
I agree, but I don't want to use one until an open source one exists.
linuxmemes
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
- Don't get baited into back-and-forth insults. We are not animals.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn, no politics, no trolling or ragebaiting.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
5. 🇬🇧 Language/язык/Sprache
- This is primarily an English-speaking community. 🇬🇧🇦🇺🇺🇸
- Comments written in other languages are allowed.
- The substance of a post should be comprehensible for people who only speak English.
- Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
6. (NEW!) Regarding public figures
We all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations. - Keep discussions polite and free of disparagement.
- We are never in possession of all of the facts. Defamatory comments will not be tolerated.
- Discussions that get too heated will be locked and offending comments removed.
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.