wildcards don't work in directory with files with odd characters

Chris Wagner wagnerc@plebeian.com
Tue May 19 02:04:53 GMT 2020


On 2020-05-18 8:40 am, jeff wrote:
> I have a directory that has some files with odd files.
> I can do a 'ls', successfully. However if I do a 'ls *'' I get:
> ls: cannot access '*': No such file or directory
> 
> Here is ls output:
> 'Highlander-S03E21-Final'$'\303\251''_Part_I-22.mkv'
> 'Highlander-S03E22-Final'$'\303\251''_Part_II-23.mkv'


I can confirm this.  I've seen weirdo behavior before with Cygwin 
commands having to interpret wild cards internally.  It's probably 
related to some wonky unicode optimization or incomplete wildcard 
implementation.  This falls under the category of "don't do that". :)


Mintty:
$ uname -a; cygcheck -c coreutils
CYGWIN_NT-6.1 applejack 3.1.0(0.340/5/3) 2019-11-19 13:58 x86_64 Cygwin
Cygwin Package Information
Package              Version        Status
coreutils            8.26-2         OK

wagnerc@applejack /tmp/wild
$ touch 'Highlander-S03E21-Final'$'\303\251''_Part_I-22.mkv'; dir *
-rw-rw-r--+ 1 0 May 18 21:46 foo
-rw-rw-r--+ 1 0 May 18 21:55 Highlander-S03E21-Finalé_Part_I-22.mkv


CMD:
C:\cygwin64\tmp\wild>dir
  Volume in drive C is INTELWINNT
  Volume Serial Number is 642B-E7BA

  Directory of C:\cygwin64\tmp\wild

05/18/2020  09:46 PM    <DIR>          .
05/18/2020  09:46 PM    <DIR>          ..
05/18/2020  09:46 PM                 0 foo
05/18/2020  09:55 PM                 0 
Highlander-S03E21-Finalé_Part_I-22.mkv
                2 File(s)              0 bytes
                2 Dir(s)  35,887,038,464 bytes free

C:\cygwin64\tmp\wild>ls
'Highlander-S03E21-Final'$'\303\251''_Part_I-22.mkv'   foo

C:\cygwin64\tmp\wild>ls *
ls: cannot access '*': No such file or directory

C:\cygwin64\tmp\wild>ls f*
foo

C:\cygwin64\tmp\wild>ls H*
ls: cannot access 'H*': No such file or directory



Thanks.







More information about the Cygwin mailing list