Ik I can use grep to find filenames with specific characters and then print that to a list but idk how to utilize said list to rename. I found another solution which’s using mv but couldn’t figure out how to make it work w subdirectories. I think using both grep and mv in unison’s the answer just idk how to do it. plz halp

  • Björn@swg-empire.de
    link
    fedilink
    arrow-up
    1
    ·
    1 day ago

    Are you maybe looking for mmv (multimove)?

    It’s hard to tell what you actually want to do.

    But you should not need to use grep to finde specific files. Just bash’s own abilities should be enough.

    For example */*a* would go into every directory and look for files with “a” in them.

    For more complex operations find can also be used.

    • sinextitan@lemmy.worldOP
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      basically I’m mirroring my music library to my new phn and Android shits itself when it encounters ?,*," in filenames. I used to manually remove them but today I decided to actually learn how to automate.

        • sinextitan@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          19 hours ago

          I didn’t get my music from yt-dlp. and even if the source title contains special chars, yt-dlp uses chars that look the same but aren’t.

          edit: am aware of the feature but the one I mentioned does the job for me

          • thingsiplay@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            20 hours ago

            yt-dlp has an option to rename downloaded files to restrict to ASCII characters (and another option to restrict filename length). I usually use my own wrapper script around yt-dlp, but I guess you already have your own. So for that, you can use the option --restrict-filenames to “Restrict filenames to only ASCII characters, and avoid “&” and spaces in filenames”. See all options with man yt-dlp. Try it out.

            • sinextitan@lemmy.worldOP
              link
              fedilink
              arrow-up
              1
              ·
              20 hours ago

              Ik of yt-dlp being able to rename the media that I download using it. but I didn’t use it to get my music. plus it’s not a prob that I have w yt-dlp. even w/o yt-dlp using their same same but not same chars, Linux doesn’t mind ?,* and " in filenames. but I do like the feature as / does present probs.

      • eleijeep@piefed.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        Are you just trying to remove special characters from the filename, or are you also trying to move them to new directories?

        • sinextitan@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          23 hours ago

          trying to remove them so that I can transfer to Android. I can use grep to improve my manual process but I’d love for it to be automatic.

      • Björn@swg-empire.de
        link
        fedilink
        arrow-up
        1
        ·
        1 day ago

        Nice, extra hard because those symbols all have special meanings when searching something. Nice puzzle, I wish I had the energy to solve it right now.