Discussion:
Unix tar file with colons in archived file names
gmoney3138
2007-07-19 16:29:26 UTC
Permalink
All--

I'm trying to get a clear answer on this one. I have a gzipped tar file
from a customer that was originated on Unix. Inside the tar.gz are a series
of files that look something like this:

systemlog_071607_09:25.log
systemlog_071607_10:07.log

etc...

Basically, as per their log file naming method, they used a colon to
separate hours from minutes--terrible, I know, but it's what I have to work
with.

When the cygwin tar recognizes this, due to Windows restrictions, the output
file is not properly extracted. I Googled around and found options for
--force-file and http://cygwin.com/ml/cygwin/2001-01/msg01536.html this
link , but I still can't get this to work properly.

I am able to get the files extracted if I use WinRAR (it converts : to _ on
extract), but I'd prefer to do this from the shell since I can automate this
more readily. Any ideas how I can do this?

~~Thanks much~~
--
View this message in context: http://www.nabble.com/Unix-tar-file-with-colons-in-archived-file-names-tf4111986.html#a11692093
Sent from the Cygwin Users mailing list archive at Nabble.com.
Larry Hall (Cygwin)
2007-07-19 16:59:16 UTC
Permalink
Post by gmoney3138
All--
I'm trying to get a clear answer on this one. I have a gzipped tar file
from a customer that was originated on Unix. Inside the tar.gz are a series
systemlog_071607_09:25.log
systemlog_071607_10:07.log
etc...
Basically, as per their log file naming method, they used a colon to
separate hours from minutes--terrible, I know, but it's what I have to work
with.
When the cygwin tar recognizes this, due to Windows restrictions, the output
file is not properly extracted. I Googled around and found options for
--force-file and http://cygwin.com/ml/cygwin/2001-01/msg01536.html this
link , but I still can't get this to work properly.
I am able to get the files extracted if I use WinRAR (it converts : to _ on
extract), but I'd prefer to do this from the shell since I can automate this
more readily. Any ideas how I can do this?
~~Thanks much~~
If you only need to access the results with Cygwin tools, you can use
managed mounts. See the email archives for more discussion/details.
--
Larry Hall http://www.rfk.com
RFK Partners, Inc. (508) 893-9779 - RFK Office
216 Dalton Rd. (508) 893-9889 - FAX
Holliston, MA 01746

_____________________________________________________________________

A: Yes.
Post by gmoney3138
Q: Are you sure?
A: Because it reverses the logical flow of conversation.
Q: Why is top posting annoying in email?
Lewis Hyatt
2007-07-19 17:01:52 UTC
Permalink
Post by gmoney3138
When the cygwin tar recognizes this, due to Windows restrictions, the output
file is not properly extracted. I Googled around and found options for
--force-file and http://cygwin.com/ml/cygwin/2001-01/msg01536.html this
link , but I still can't get this to work properly.
I am able to get the files extracted if I use WinRAR (it converts : to _ on
extract), but I'd prefer to do this from the shell since I can automate this
more readily. Any ideas how I can do this?
just use "--transform='s/:/_/g'", you can turn the colons into whatever
you want.

-lewis
Brian Dessent
2007-07-19 17:03:32 UTC
Permalink
Post by gmoney3138
When the cygwin tar recognizes this, due to Windows restrictions, the output
file is not properly extracted. I Googled around and found options for
Use a managed mount or "--transform s,:,_,g".

I'm not sure what this --force-file you mention is but it's not a valid
tar option. --force-local might have been what you were looking for,
however the purpose of that is for overriding the meaning of colon when
specifying the name of the input file to read, not for dealing with
filenames inside a tarball that contain a colon, so it's irrelevant to
this case.

Brian
gmoney3138
2007-07-19 17:29:41 UTC
Permalink
Thanks to all, that just might be what I'm looking for.

Also, I made a typo in my original message. My mistake :). I meant to type
"force-local" instead of "force-file". According to the tar help pages:

--force-local archive file is local even if it has a colon

I couldn't get this to work, though.
Post by Brian Dessent
Post by gmoney3138
When the cygwin tar recognizes this, due to Windows restrictions, the output
file is not properly extracted. I Googled around and found options for
Use a managed mount or "--transform s,:,_,g".
I'm not sure what this --force-file you mention is but it's not a valid
tar option. --force-local might have been what you were looking for,
however the purpose of that is for overriding the meaning of colon when
specifying the name of the input file to read, not for dealing with
filenames inside a tarball that contain a colon, so it's irrelevant to
this case.
Brian
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
--
View this message in context: http://www.nabble.com/Unix-tar-file-with-colons-in-archived-file-names-tf4111986.html#a11694037
Sent from the Cygwin Users mailing list archive at Nabble.com.
Bengt-Arne Fjellner
2007-07-19 17:35:38 UTC
Permalink
Post by gmoney3138
Thanks to all, that just might be what I'm looking for.
Also, I made a typo in my original message. My mistake :). I meant
to type "force-local" instead of "force-file". According to the tar
--force-local archive file is local even if it has a colon
That only means the tar-file-name
so if the archive is named hi:ho.tar you have to use it ( for platforms
where : is allowed in a filename).
<snip />
--
tel 0920 49 1894
Bengt-Arne Fjellner
Long, Phillip GOSS
2007-07-26 19:54:05 UTC
Permalink
Post by gmoney3138
All--
I'm trying to get a clear answer on this one. I have a gzipped tar file
from a customer that was originated on Unix. Inside the tar.gz are a series
systemlog_071607_09:25.log
systemlog_071607_10:07.log
etc...
Basically, as per their log file naming method, they used a colon to
separate hours from minutes--terrible, I know, but it's what I have to work
with.
When the cygwin tar recognizes this, due to Windows restrictions, the output
file is not properly extracted. I Googled around and found options for
--force-file and http://cygwin.com/ml/cygwin/2001-01/msg01536.html this
link , but I still can't get this to work properly.
I am able to get the files extracted if I use WinRAR (it converts : to _ on
extract), but I'd prefer to do this from the shell since I can automate this
more readily. Any ideas how I can do this?
~~Thanks much~~
--
http://www.nabble.com/Unix-tar-file-with-colons-in-archived-file-names-t
f4111986.html#a11692093
Post by gmoney3138
Sent from the Cygwin Users mailing list archive at Nabble.com.
Have U tried untarring it through a pipe? U could get a listing (tar
-ztvf ...) and store it in an array, then loop on the array and pipe
each file through a pipe and a filter (tar -zOxvf arch.tar.gz
[ArrayElement] > [modifiedArrayElement]). I don't recall bash array
handling off-hand (I prefer gawk), but U should be able to get it
working without much trouble. As U note, the names are clunky, but
it's better than nothing.

--------------------------------------------------------

Goss ... Innovation for Business

NOTICE: This e-mail and any attachment(s) may contain confidential and proprietary information of Goss International Corporation and/or its subsidiaries and may be legally privileged. This e-mail is intended solely for the addressee. If you are not the addressee, dissemination, copying or other use of this e-mail or any of its content is strictly prohibited and may be unlawful. If you are not the intended recipient please inform the sender immediately and destroy the e-mail and any copies. All liability for viruses is excluded to the fullest extent permitted by law. Any views expressed in this message are those of the individual sender. No contract may be construed by this e-mail.
Loading...