2

У меня есть файл tar(.gz), созданный в системе Linux, а имена файлов содержат символы двоеточия. Утилиты tar, которые я могу найти в Windows, вообще не распаковывают эти файлы. Как я могу сделать это, в идеале из командной строки?

Если есть какой-нибудь способ сделать преобразование имени файла в конце сжатия, это тоже будет хорошо.

Чтобы было понятнее, что я имею в виду:

# on linux system
touch example:file
tar cvf test.tar example:file

# copy test.tar to windows system
tar xvf test.tar
... can't create 'example:file': Invalid argument

2 ответа2

2

7-zip извлекает файлы с именами, содержащими двоеточия. Он заменяет двоеточие подчеркиванием.

7-zip также можно использовать из командной строки, например:

"c:\Program Files\7-Zip\7z.exe" x tar_containing_files_with_colons_in_names.tar
0

Двоеточие используется для обозначения альтернативного потока файлов в Windows. Это может быть причиной проблемы.

Если вы можете отобразить файл, вы можете передать его в свой tar экстрактор. Кроме того, поскольку вы будете извлекать его, вы можете переименовать его. Если у вас возникли проблемы со ссылкой на файл с полным именем, вы можете использовать сопоставление с подстановочными знаками для части перед двоеточием. Например, если это something:else.tgz вы можете ссылаться на него как на something* , если одного и того же файла не много.

И последнее, что можно сделать, это посмотреть, что такое короткое имя файла и использовать его вместо полного длинного имени.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .