• Jo Miran@lemmy.ml
    link
    fedilink
    English
    arrow-up
    73
    arrow-down
    2
    ·
    edit-2
    8 months ago

    Dealing with spaces while scripting or in terminal is such a pain in the ass. The true dark path of horror is using spaces indeed.

      • Alien Nathan Edward@lemm.ee
        link
        fedilink
        English
        arrow-up
        12
        arrow-down
        2
        ·
        7 months ago

        I work on a Web app and we recently decided that we’re just not gonna support double quotes in free text fields because oh holy balls what a thing it is to try to deal with those in a way that doesn’t open you up to multiple encoding vulnerabilities.

    • Em Adespoton@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      3
      ·
      8 months ago

      “\ “ and [tab] and * are your friends. I’ve been using spaces in Unix filesystems since the early 90s with no issues. Also, using terminal fonts that•put•a•faint•dot•in•each•space•character helps.

      • ShaunaTheDead@kbin.social
        link
        fedilink
        arrow-up
        1
        ·
        7 months ago

        Yeah, either put quotes around it ‘/like this/you can incorporate/spaces/into your paths’ or /just\ escape/your\ spaces/like\ this

        • gears@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          7 months ago

          It gets real crazy when you’re sending remote commands so you have to escape the escapes so that the remote keeps them and properly escapes the space

          ssh -t remote "mv /home/me/folder\\\ with \\\ spaces /home/me/downloads/

        • silasmariner@programming.dev
          link
          fedilink
          English
          arrow-up
          4
          ·
          7 months ago

          This is fine for the most basic of use cases but once you start looping through file names or what have you, you have to start writing robust correct bash and nobody does that

      • cobra89@beehaw.org
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        7 months ago

        Yeah but at least with periods in the title tab complete will just complete the file name all the way while with a filename with spaces I have to escape the damn space with "\ " like you said. Why do more work when I don’t have to?

        • Euphoma@lemmy.ml
          link
          fedilink
          English
          arrow-up
          4
          ·
          7 months ago

          My shell seems to autocomplete filenames that have spaces with "\ " already.

    • pete_the_cat@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      7 months ago

      It’s a way bigger pain in the ass than people think it is. I remember having to parse output from a tool for work that had tons of output in tabular format, mixed with normal sentence like strings. JSON, YAML, or XML outputs weren’t available so I had to do a nasty mess of grep, awk, cut, and head/tail, to get what I wanted. My first attempt was literally counting the characters so I could cut out exactly what I needed, but as we all know, hardcoding values is a recipe for headaches later on.

      • Jo Miran@lemmy.ml
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        edit-2
        7 months ago

        Here’s a horror story from literally yesterday. We have been fighting a system for a client for weeks and it has been a nightmare. Our clients just told us that they outsourced some of their work to an Indian outfit but that outfit is unfamiliar with Linux and doesn’t know how to edit text files so they have been downloading the files to their Windows machines, editing them in Windows, then uploading the contaminated text files back into Linux. None of them, not our client nor the outfit they hired, understood why this was a problem. We have no idea what files are affected and we won’t know until they fail because they obviously did not keep track of what they touched.

        EDIT: I’m being intentionally vague.

  • retiolus@lemmy.catOP
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    1
    ·
    7 months ago

    It’s quite strange, I’ve been downloading torrents for more years than I can count, and I upload them from time to time, and I’ve always had the worry myself of how to name torrents: with dots? underscores? dashes? (although with spaces is definitely not an option).

    I’ve even asked the questions on several forums and upload sites, read tutorials on these same sites etc and every time I’ve asked the answer has been: THERE IS NO STANDARD, even on the tutorials, I’ve never seen anything mentioned such a thing.

    All this to say that I’m making a meme, and after so many years, this is the first time I’ve heard of a Warez scene, and several times in the same comments!, curious, isn’t it? I wish I’d heard about it before.

    • Socsa@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      15
      arrow-down
      1
      ·
      7 months ago

      You should know that in most filesystems that are not NTFS, spaces in file names are not well supported.

      • Pyrozo007@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        6
        arrow-down
        3
        ·
        7 months ago

        Can you give examples? Linux and Mac have no real issues as far as I’m aware. Nor exFAT or FAT32

        • bam13302@ttrpg.network
          link
          fedilink
          English
          arrow-up
          13
          arrow-down
          3
          ·
          edit-2
          7 months ago

          The problem is really that space is an argument separator, so to safely handle filenames with spaces you need to handle them special, either by escaping them, quoting the entire thing. This means that the filename with spaces can’t be just copy pasted wherever you want, you have handle them special. It adds complications that are resolved by just using a separator that isnt used for other things, like underscore, or dash. Dot I also don’t like as much as it’s used as a separator for extensions, but that’s a far easier problem to handle by just ignoring all but the last dot, leaving only one really bad edge case (a file that does not have an extension, that uses dot separator in its filename having the filesystem imply a wrong extension.

          • ramjambamalam@lemmy.ca
            link
            fedilink
            English
            arrow-up
            13
            ·
            7 months ago

            That’s a problem with the shell though, not the filesystem. It doesn’t matter which files filesystem you’re using; most interactive shells use spaces as token separators and therefore spaces in filenames need to be enclosed in quotes or escaped.

          • gayhitler420@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            1
            ·
            7 months ago

            I’m with the person you’re replying to, what’s an example? I haven’t had a problem working with filenames with spaces in at least ten years on windows, Linux or Mac…

              • gayhitler420@lemm.ee
                link
                fedilink
                English
                arrow-up
                2
                arrow-down
                2
                ·
                7 months ago

                Escape characters and autocomplete exist.

                It’s also really good practice to account for weird characters in programs and shell scripts you write because then you don’t have injection vulnerabilities or unicode problems.

                Seriously, what’s an example of spaces in filenames causing a problem?

                • bam13302@ttrpg.network
                  link
                  fedilink
                  English
                  arrow-up
                  4
                  ·
                  edit-2
                  7 months ago

                  for f in *.txt; do cat $f; done

                  Will error for example. It works fine for filenames without space, but if the filename has space in it, it will be interpreted wrong. But if your testing batch doesn’t have spaces in the filename, you won’t see the issue until it’s used on a file that does. Note ‘cat’ is a placeholder, any function/script that can be used on a file here will have the same issue.

                  Something similar to that caught me last week while I was unzipping multiple mods in bulk for a game.

    • eluvatar@programming.dev
      link
      fedilink
      English
      arrow-up
      6
      ·
      7 months ago

      Clearly the best option then is to just use some of each. Like this: “MovieTitle-2000.Your_mom h.265”

  • JokeDeity@lemm.ee
    link
    fedilink
    English
    arrow-up
    28
    arrow-down
    15
    ·
    edit-2
    7 months ago

    As soon as the file finishes downloading it becomes only the name of the movie.filetype

    I can’t stand the titles on torrents.

    • bloup@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      61
      arrow-down
      4
      ·
      edit-2
      7 months ago

      “Titles”? It’s not a title, it’s a file name that contains a lot of details about the rip. In the post’s example it tells you that it’s the movie Split, ripped from blu ray, in 1080p, with audio tracks in Italian and English, and encoded in x265. You probably would hate a lot more not being able to tell the difference between split.mp4 recorded on my cellphone in the movie theater and split.mp4 in ultra hd 4k ripped straight from Netflix.

      • JokeDeity@lemm.ee
        link
        fedilink
        English
        arrow-up
        15
        arrow-down
        39
        ·
        7 months ago

        Lol, okay. Calm down buddy. What I do doesn’t affect you. The torrent description let’s me know all that too, I just hate having those file names in my library, looks messy and it’s less easy for my eyes to browse quickly.

        • bloup@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          35
          arrow-down
          5
          ·
          7 months ago

          I mean I never told you not to rename them lmfao. You just said “I can’t stand the titles on torrents” like people just made these really long filenames for shits and giggles. Also lots of torrent sites will feature several different kinds of rips. It’s not very convenient on the back end to have all rips of the same movie have the same file name.

          Also “calm down”? Idk I thought I gave a pretty chill explanation of why things are the way they are but sorry if it didn’t come across that way.

    • rustyricotta@lemmy.ml
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      1
      ·
      7 months ago

      I’ve always liked underscores better because it differentiates from the file extension. It just makes sense. Except it is a wider character, so it’d be longer.

      • Astaroth@lemm.ee
        link
        fedilink
        English
        arrow-up
        7
        ·
        7 months ago

        well if you’re using a mono font (terminal) then there are no such thing as wider characters anyway, so for me that’s not a drawback either

      • Astaroth@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 months ago

        Do you type with one hand?

        And well even if you did you could hold down right shift instead of left shift to only use a single hand.

    • 0x4E4F@infosec.pub
      link
      fedilink
      English
      arrow-up
      9
      ·
      edit-2
      8 months ago

      It’s legacy, white spaces weren’t allowed as characters on most FTP software, which is how the warez scene shares it’s releases. It used to be underscores, but dots are closer to a white space regarding separation (space wise), so most release groups use dots nowadays.

      Generally, a white space as a character in filenames and directories is “frowned upon” in many operating systems, Windows included (somewhat). It makes writing scripts and software more comlicated because it’s used as as a separator for giving command line/terminal options to commands and binaries (programs).

      • originalucifer@moist.catsweat.com
        link
        fedilink
        arrow-up
        5
        ·
        8 months ago

        it goes way back before ftp… i believe its because the original operating systems filesystems/namespacing could not handle the space character at all. so all files lacked spaces in their names. but only for like the first 30 years

        • 0x4E4F@infosec.pub
          link
          fedilink
          English
          arrow-up
          2
          ·
          8 months ago

          Yes, you’re correct, it goes much further back than FTP, all the way down to UNIX I believe. The problem was commands and parameters (options) which use a white space to seperate between them. So, filenames and directories were’t allowed to have white spaces in them.

  • twistedtxb@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    8 months ago

    In this day and age where most of not all modern media library management software can decipher almost anything without any problem, is that really an issue?