создание zip - игнорировать структуру каталогов
Мне нужно создать zip с помощью команды
zip /dir/to/file/newZip /data/to/zip/data.txt
это работает, но созданный zip-файл создает структуру каталогов, имитирующую каталог в файл raw. Это много дополнительных папок, которые мне не нужны.
Я не нашел ответа в беглом взгляде на man-страницу или охоту google.
6 ответов:
можно использовать
-j.-j --junk-paths Store just the name of a saved file (junk the path), and do not store directory names. By default, zip will store the full path (relative to the current directory).
использовать :
-j Store just the name of a saved file (junk the path), and do not store directory names. By default, zip will store the full path (relative to the current path).
используя
-jне будет работать вместе с .
Так что обходной путь для него может быть такой:cd path/to/parent/dir/; zip -r complete/path/to/name.zip ./* ; cd -;или встроенная версия
cd path/to/parent/dir/ && zip -r complete/path/to/name.zip ./* && cd -вы можете направить вывод в
/dev/nullесли вы не хотите, чтобыcd -выход, чтобы появиться на экране
несколько связано - я искал решение, чтобы сделать то же самое для каталогов. К сожалению, опция-j не работает для этого : (
здесь хорошее решение о том, как это сделать: https://superuser.com/questions/119649/avoid-unwanted-path-in-zip-file
кроме того, вы можете создать временную символическую ссылку на ваш файл:
ln -s /data/to/zip/data.txt data.txt zip /dir/to/file/newZip !$ rm !$это работает также для каталога.
просто используйте параметр-jrm для удаления файла и каталога структуры
zip -jrm /path/to/file.zip /path/to/file
Comments