සිප් කළ ලේඛනාගාරයකින් ලබා දුන් නාමාවලියකට නිශ්චිත ගොනුවක් පමණක් උපුටා ගන්න


169

මා යන මාර්ගය දන්නා ZIP ගොනුවකින් තනි ගොනුවක් උපුටා ගැනීමට මට අවශ්‍යය. පහත දැක්වෙන විධානයක් තිබේද:

unzip -d . myarchive.zip path/to/zipped/file.txt

අවාසනාවකට මෙන්, ඉහත විධානය මඟින් ගොනුව වෙත සම්පූර්ණ මාර්ගය උපුටා ගෙන ප්‍රතිනිර්මාණය කරයි ./path/to/zipped/file.txt. නිශ්චිත නාමාවලියකට ගොනුව පිටතට ඇද ගැනීමට මට ක්‍රමයක් තිබේද?

Answers:


145

-pවිකල්පය සමඟ ඔබට සම්මත ප්‍රතිදානය වෙත පෙළ පමණක් උකහා ගත හැකිය:

unzip -p myarchive.zip path/to/zipped/file.txt >file.txt

මෙය පාර-දත්ත උකහා නොගනී (දිනය, අවසර,…), ගොනු අන්තර්ගතයන් පමණි. ගොනුව පසුව ගෙනයාමේ පහසුව සඳහා ගෙවිය යුතු මිල එයයි.

විකල්පයක් ලෙස, ලේඛනාගාරයක් ලෙස සංරක්ෂිතය සවි කර ගොනුව පිටපත් කරන්න. AVFS සමඟ :

mountavfs
cp -p ~/.avfs"$PWD/myarchive.zip#"/path/to/zipped/file.txt .

හෝ ෆියුස්-සිප් සමඟ :

mkdir myarchive.d
fuse-zip myarchive.zip myarchive.d
cp -p myarchive.d/path/to/zipped/file.txt .
fusermount -u myarchive.d; rmdir myarchive.d

එය ද්විමය ලිපිගොනු සඳහා වැඩ jarකරයිද, ගොනුවක් කියන්නද ?
නෆ්ටුලි කේ

1
KTK කොචරන්: භාජන ලිපිගොනු සිප්, එබැවින් unzip සහ fuse-zip ක්‍රම පැහැදිලිවම ක්‍රියාත්මක වේ. AVFS ක්‍රමය ද ක්‍රියාත්මක වේ, මන්ද AVFS ගොනු නාම මත පදනම්ව ආකෘතිය අනුමාන කරන අතර ඒ ගැන දන්නා බැවිනි .jar; ඔබේ ගොනුව වෙනස් ලෙස නම් කර ඇත්නම්, ඔබට එහි සිප් හසුරුව භාවිතා කිරීමට AVFS ට පැවසිය යුතුය, උදා ~/.avfs$PWD/foo.apk#uzip/META-INF.
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

1
ඇත්ත වශයෙන්ම, මම අදහස් කළේ ZIP ලේඛනාගාරයකින් JAR / ද්විමය ගොනුවක් උපුටා ගැනීමයි. මට තවම එය පරීක්ෂා කිරීමට අවස්ථාවක් ලැබී නැත, ද්විමය ලිපිගොනු උකහා ගැනීම සඳහා ඉහත පළමු විධානය භාවිතා කර ඔබට කිසියම් ගැටලුවක් දැකිය හැකිද?
නෆ්ටුලි කේ

2
KTK කොචරන්: කිසිදු ගැටළුවක් නොමැත, -pගොනුව පවතින ආකාරයට උපුටා ගනී ( -cපෙළ පරිවර්තනය කරයි).
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

2
මම හිතන්නේ @ මයිල්ස් හි පිළිතුර වඩාත් අලංකාරයි, එයට ප්‍රතිදාන යළි හරවා යැවීමක් අවශ්‍ය නොවන අතර එය ගොනු ගුණාංග ආරක්ෂා කරයි.
gertvdijk

169
unzip -j "myarchive.zip" "in/archive/file.txt" -d "/path/to/unzip/to"

ගොනු නාමයට පමණක් නොව, සිප් කළ ගොනුව සඳහා සම්පූර්ණ මාර්ගය ඇතුළත් කරන්න. සිප් ගොනුව තුළ සිට පෙනෙන පරිදි ව්‍යුහය තබා ගැනීමට වග බලා ගන්න.

මෙය තනි ගොනු උපුටා ගැනීම ඇත file.txtතුල myarchive.zipකිරීමට /path/to/unzip/to/file.txt.


1
ජනනය කරන ලද ගොනු නාමය වෙනස් වීමට අවශ්‍ය අවස්ථාව එය හසුරුවන්නේ නැත.
ඔලෙග් වස්කෙවිච්

7
"-j" පරාමිතිය: අපිරිසිදු මාර්ග. සංරක්ෂිතයේ නාමාවලි ව්‍යුහය ප්‍රතිනිර්මාණය නොකෙරේ; සියලුම ලිපිගොනු නිස්සාරණ නාමාවලියෙහි තැන්පත් කර ඇත (පෙරනිමියෙන්, වර්තමාන ගොනුව). "-d" පරාමිතිය: exdir
e1i45

1
Le ඔලෙග්වාස්කෙවිච්, ඉලක්කගත ගොනු නාමය වෙනස් වීමට ප්‍රශ්නය ඉල්ලන්නේ නැත
ටේප්මාස්ටර්

1
සිප් හි ගොනු වල ගමන් මාර්ගය සොයා ගැනීමට FYI, භාවිතා කරන්න less: superuser.com/questions/216617/…
යිබෝ යැං

සමහර unzip ද්විමය -d ධජය නොමැත. මම සෑම ලිනක්ස්
වලම

25

සරල අනුවාදය:

unzip ARCHIVE_NAME PATH_OF_FILE_INSIDE_ARCHIVE

මෙය PATH_OF_FILE_INSIDE_ARCHIVEවත්මන් නාමාවලියෙහි ප්‍රතිනිර්මාණය කරනු ඇති නමුත් නිශ්චිත ගොනුව උපුටා ගැනීම පමණි.

Zip ලේඛනාගාරයක සියලුම ගොනු ලැයිස්තුගත කිරීමට:

unzip -l ARCHIVE_NAME

4

මැකෝස් මත , පෙරනිමියෙන් තොරතුරු-සිප් භාවිතා කරයි

ඔබට අවශ්‍ය දේ සොයා ගැනීමට පළමුව ලිපිගොනු ලැයිස්තුගත කරන්න

unzip -l my.zip

ඉන්පසු සංරක්ෂිතයෙන් උපුටා ගැනීම සඳහා ලිපිගොනු ලැයිස්තුවක් සපයන්න

unzip my.zip annoying/path/to/file

Stdout සඳහා -p සමඟ ඒකාබද්ධ කරන්න

unzip -p my.zip annoying/path/to/file >./file

2
කිසිදු පැහැදිලි හේතුවක් නොමැතිව මිනිසුන් පහත් කොට සලකන්නේ මන්දැයි මට තේරෙන්නේ නැත. මෙය නිවැරදි පිළිතුරකි (
මැකෝස්

RactFractalSpace එය OP ට අවශ්‍ය දෙයට ප්‍රතිවිරුද්ධ දෙයකි.
කොන්රාඩ් රුඩොල්ෆ්

ප්රධාන දෙය නම් තනි ගොනුවක් ලබා ගැනීමයි. Stdout වෙත ප්‍රතිදානය සහ -p ධජය භාවිතා කර යළි හරවා යැවීම සුළුපටු ය, නමුත් මම එය පැහැදිලිවම එකතු කර ඇත්තෙමි
කැමරන් ලෝවෙල් පාමර්

2

සරල භාවිතය:

unzip zipfile.zip path/inside/zip/file.txt

එය ගොනුව අවුලුවනු ඇත.

$ unzip -l ./../html.zip | grep wp-config

     3328  07-22-2019 15:10   html/wp-config.php

     2898  01-07-2019 23:30   html/wp-config-sample.php

$ unzip ./../html.zip html/wp-config.php

     Archive:  ./../html.zip
     inflating: html/wp-config.php

$ ls -lrth

     total 4.0K
     drwxr-sr-x 2 apache apache 4.0K Jul 26 14:41 html

$ ls -lrth html/*

     total 4.0K
     -rw-rw-rw- 1 apache apache 3.3K Jul 22 15:10 wp-config.php

-d outpathගොනුව දමා ඇත්තේ කොතැනද යන්න සඳහන් කිරීමට තර්කය එකතු කළ හැකිය .
එෆ්‍රන්

හා -jසම්පීඩිත මාර්ග වළක්වා ගැනීමට තර්කය
Efren

0

සාපේක්ෂ dir වෙත උපුටා ගැනීම

unzip -j -d relativedir archive.zip path/in/archive/file.ext

වත්මන් dir වෙත උපුටා ගැනීම

unzip -j -d . archive.zip path/in/archive/file.ext

නිරපේක්ෂ dir වෙත උපුටා ගැනීම

unzip -j -d /absolutedir archive.zip path/in/archive/file.ext
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.