this post was submitted on 18 May 2024
296 points (95.7% liked)

linuxmemes

21197 readers
67 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • 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.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 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. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    top 29 comments
    sorted by: hot top controversial new old
    [–] [email protected] 56 points 5 months ago (3 children)
    [–] [email protected] 34 points 5 months ago

    Corporate users in shambles because mlocate.db cannot be generated without root.

    [–] [email protected] 7 points 5 months ago* (last edited 5 months ago) (1 children)

    Idk why but I've always been a locate enjoyer myself. But find has more usecases.

    [–] [email protected] 2 points 5 months ago (1 children)
    [–] [email protected] 13 points 5 months ago* (last edited 5 months ago) (1 children)

    Find can find stuff based on permissions or other variables and interact with files, like delete etc

    Locate is just a database of filenames

    [–] [email protected] 3 points 5 months ago (1 children)

    Grep. Couldn’t live without find exec grep.

    [–] [email protected] 3 points 5 months ago (1 children)

    You rarely need find with grep if you man grep. Grep does it all.

    [–] [email protected] 0 points 5 months ago (1 children)

    Grep is going to find all .java files in /home/user/workspace? And then conditionally search them? Not so sure about that.

    [–] [email protected] 9 points 5 months ago

    grep -R --include=\*.java "pattern" /home/user/workspace

    [–] [email protected] 1 points 5 months ago

    Indeed! Covers most of the instances where I would otherwise have to use find.

    [–] [email protected] 27 points 5 months ago (1 children)

    What's up with find? I've got so used to fd that I don't understand what this is referring to

    [–] [email protected] 67 points 5 months ago (4 children)

    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.

    [–] [email protected] 23 points 5 months ago

    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.

    [–] [email protected] 21 points 5 months ago

    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.

    [–] [email protected] 5 points 5 months ago (1 children)

    Nice, UX is clearly a top priority (;

    I'll have to try and see if FD does the same bullshit though

    [–] [email protected] 6 points 5 months ago (1 children)

    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.

    [–] [email protected] 4 points 5 months ago

    I mean you could alias the glob option as the default but I clearly see your point about standardized default behaviour.

    [–] [email protected] 0 points 5 months ago

    And if you do find . it prepends every result with a dot.

    [–] [email protected] 23 points 5 months ago* (last edited 5 months ago)

    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

    [–] [email protected] 21 points 5 months ago* (last edited 5 months ago)

    Positional params are the work of the devil; what starts as shorthand quickly turns into a horrible mess

    [–] [email protected] 12 points 5 months ago

    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.)

    [–] [email protected] 9 points 5 months ago

    The world if we could use wildcards on ADB push/pull directly..

    [–] [email protected] 8 points 5 months ago

    But…. Path is the first argument to find?

    It’s the -exec syntax that’s so wacky. But use it for 20 years and you’ll remember it.

    [–] [email protected] 8 points 5 months ago* (last edited 5 months ago) (1 children)

    Not an expert nor a historian, but my understanding is that 'find' goes back a long way (*nix has been around a while).

    Earlier commands such as find were created back before a lot of command/option syntax forms we know today were agreed to and standardized.

    Since 'find' has been around so long, we've just suffered its non-standard syntax rather than risk the chaos that would be unleashed by trying to fix it.

    If it makes you feel better, you can console yourself that you're using one of the more arcane incantations of the elder *nix wizards.

    [–] [email protected] 2 points 5 months ago (1 children)

    When a link contains parentheses, you have to escape them... or else.

    'find' goes back a long way

    [–] [email protected] 1 points 5 months ago (1 children)

    Please try it again and let me know if this fixed it. Both versions work on my end.

    [–] [email protected] 3 points 5 months ago* (last edited 5 months ago)

    It works now. It definitely didn't before when using Sync for Lemmy. That kind of mistake wouldn't have worked on the reddit website either. I had seen it a million times. Not sure if the Lemmy web site would handle it right.

    Both versions work on my end.

    I'm surprised to hear that.

    Markdown libraries normally see the closing parenthesis in the URL as the end of the link markdown syntax of [text](link). You had [text](link(stuff)) which is parsed as [text](link(stuff) A smarter markdown parser could handle it, so whatever app you were using might do that.

    [–] [email protected] 2 points 5 months ago* (last edited 5 months ago)

    The year is 2024, I put esoteric use of the find command on my resume, it's 1989...

    [–] [email protected] 1 points 5 months ago

    FWIW you can fix it locally and eventually use a pull request.

    I don't know find well enough to comment on feasibility but I bet it'd be interesting to try, and maybe realize it's not trivial.