locate
enjoyers unite.
Idk why but I’ve always been a locate enjoyer myself. But find has more usecases.
Find can find stuff based on permissions or other variables and interact with files, like delete etc
Locate is just a database of filenames
What’s up with find? I’ve got so used to fd
that I don’t understand what this is referring to
When you want to find something in a different path than your current one you have to supply it as the first argument. When you try to do find -name foo.bar /path
it will complain that the path should be the first argument. So it knows what you’re trying to do and instead of doing it it just complaints.
Back in the day, find required that you added “-print” to actually print out the results in the terminal. That was bad UX, and now -print is the default. But… following some syntax like supplying path as first argument for find is necessary to not create ambiguity in some cases, and enforcing it makes it more readable imho.
That’s already the friendly variant. Traditional find has a mandatory path as first argument, so to find in the current directory you need to do find .
It also doesn’t know if it really is a path - it just prints that as a likely error. You might just have messed up quoting an argument.
Nice, UX is clearly a top priority (;
I’ll have to try and see if FD does the same bullshit though
I dont think it does. The thing that annoys me about fd is that it uses regex as a default for patterns while I’m used to having glob as default everywhere else.
I don’t mind the order of path, arguments and options, but what the hell is the deal with long arguments with a single dash? i.e. -name
instead of —-name
Positional params are the work of the devil; what starts as shorthand quickly turns into a horrible mess
find
’s expressions are order-sensitive and look like options, which is probably why the real options go zeroth, then the starting path goes first. Also, there is a -path
-match expression that means something different than that starting path.
That said, there’s nothing stopping the writing of a wrapper script that allows any placement or intermingling of any of those groupings.
The simplest would just grab the last argument and use it in the first position, which I’m guessing is what the meme creator really wants. Watch out for the edge case of whitespace in the path name. (And the edge case of the edge case where the end part of that path is valid but not the intended target.)