bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-tar] Wildcards do not match invalid characters


From: jlh
Subject: [Bug-tar] Wildcards do not match invalid characters
Date: Sun, 03 Feb 2008 00:43:29 +0100
User-agent: Thunderbird 2.0.0.9 (X11/20071118)

Hello list!

Using GNU tar 1.19, I was unable to extract files from a tar
archive using wildcards when the file name contains a byte
sequence that is not valid in the current locale.  Specifically,
this didn't work as I expected:

$ touch $(echo -en 'file-\0344')

$ tar -vcf my.tar file-*
file-\344

$ tar -tf my.tar
file-\344

$ tar -tf my.tar --wildcards '*'
tar: *: Not found in archive
tar: Error exit delayed from previous errors

$ LC_CTYPE=C tar -tf my.tar --wildcards '*'
file-\344

The byte \344 is the character 'รค' ('a' with umlauts) in latin1.
The files in my archive came from a system with a different
encoding.  But regardless of the file names in the archive not
matching the system's encoding, I would still expect the pattern
'*' to match all files.

This can be very annoying when the pattern doesn't fail entirely,
for example, the following command may silently fail to extract
some of the files:

$ tar -xf my.tar --wildcards --wildcards-match-slash 'sub/dir/*'

As a work-around, setting LC_CTYPE=C seems to make it work.

Thanks,
jlh




reply via email to

[Prev in Thread] Current Thread [Next in Thread]