Seriously. There doesn’t seem to be a way to do this. Every thing I ever try I just get bad substitution errors. The internet is full of people posting code that’s supposed to compare file extensions but none of it works. I’ve spent all morning trying everything I could find. I already gave up and I’m making this progeam in python instead but now I’m curious. How tf do you actually compare file extensions? If I have a folder fill of files and I want to run a command only on the png files, there seems to be no way to actually do this.

If someone posts “[[ $file == *.txt ]]” I’m going to fucking scream because THAT DOES NOT WORK. IT’S NOT VAILD BASH CODE.

  • @[email protected]
    link
    fedilink
    English
    27 months ago

    How about instead of starting with a list of all files in the directory, you use find to filter just the ones ending in .txt (or .TXT, it’s case insensitive)

    find $dir -maxdepth 1 -type f -iname "*.txt"