একটি নির্দিষ্ট নির্দেশিকায় একটি জিপড সংরক্ষণাগার থেকে কেবল নির্দিষ্ট ফোল্ডারটি কীভাবে নিষ্কাশন করা যায়?


59

কীভাবে একটি প্রদত্ত ডিরেক্টরিতে একটি জিপ করা সংরক্ষণাগার থেকে নির্দিষ্ট ফোল্ডারটি নিষ্কাশন করা যায়?

আমি ব্যবহার করার চেষ্টা করেছি

unzip "/path/to/archive.zip" "in/archive/folder/" -d "/path/to/unzip/to"

তবে এটি কেবল সেই পথে ফোল্ডার তৈরি করে যাতে চাই আমি এটিতে আনজিপ করতে চাই এবং অন্য কিছুই করি না।

উত্তর:


60
unzip <target-zip-file> '<folder-to-extract/*>' -d <destination-path> 

EL 6 এ সূক্ষ্ম কাজ করে


3
এই EL 6 কি?
Zelda

2
এন্টারপ্রাইজ লিনাক্স 6 (আরএইচইএল 6) - রেড হ্যাট।
slm

এটিও কাজ করে; এটি মূলত মার্ক অ্যাডলারের মতো একই উত্তর, তবে কিছুটা ভিন্ন উপায়ে।
এনকৌইমি

@ এনকোয়ামি বিয়োগে মাইনাস পার্থক্য, এটি দেখতে ঠিক একই জিনিস বলে মনে হচ্ছে।
ক্যামিলো মার্টিন

1
@ এনকোয়ামি কারন ডাবল কোটে ব্যাকস্ল্যাশ একটি চরিত্র থেকে রক্ষা পেয়েছে (ধারণা করা হচ্ছে নক্ষত্রটি পালানো হচ্ছে, তবে আমি অনুমান করি এটি একটি টাইপো), যখন একক উদ্ধৃতিতে ব্যাকস্ল্যাশ ব্যাখ্যা করা হয়নি। যদি কেউ আক্ষরিক ব্যাকস্ল্যাশ চায় "\\"তবে এটি ব্যবহার করা হবে (অন্যথায় আপনাকে সর্বদা মনে রাখতে হবে কোন অক্ষরগুলি বিশেষ পালিয়ে যায়)। সুতরাং এটি একটি উদ্ধৃত পার্থক্য যদি লেখক মানে "গ্লোব চরিত্রের উদ্ধৃতি" (অপ্রয়োজনীয়)। যেভাবেই কোনও একরকম ব্যাকস্ল্যাশ টাইপো।
ক্যামিলো মার্টিন

39

চেষ্টা করুন:

unzip /path/to/archive.zip 'in/archive/folder/*' -d /path/to/unzip/to

4
এটা করেছে? আমি পেতে caution: filename not matched: foldername/\*যখন আমি রান unzip $repozip "$2-master/\*" -d /srv/www/magento/যেখানে $2জিপ ফোল্ডার নাম আমি সব ফাইল এবং ফোল্ডার টান করতে চান
jeremy.bass

10
ঠিক \ ছাড়া কাজ করেছেন "path/*"
অ্যালেক্স

8
"আর্কাইভ / ফোল্ডার / *" এর সামগ্রী / আর্কাইভ / ফোল্ডার / "ইন" সংরক্ষণ করে না এমন সামগ্রীগুলি বের করার কোনও উপায় আছে? আমি mvযেখানে প্রয়োজন সেখানে ফাইলগুলি পেতে ব্যবহার করে শেষ করি।
jerrygarciuh

6
তার -jজন্য ব্যবহার করুন ।
মার্ক অ্যাডলার

4
-jসমস্ত পাথের তথ্য সরিয়ে দেয় এবং সমস্ত ফাইল লক্ষ্য ফোল্ডারে যায়। পথের সাধারণ অংশগুলি সরানোর কোনও উপায় আছে কি? আকিন জিপ করতে -r
বব স্টেইন

6

বিদ্যমান দুটি উত্তর দুটিই সঠিক, তবে লক্ষ্য ডিরেক্টরিটি নির্দিষ্ট করা কিছুটা জটিল, এটি আরও ভাল করে স্পষ্ট করা উচিত।

আসুন ধরা যাক /target/root/মূল আনজিপ অ্যাকশনের উপর লক্ষ্য দির, যেমন:

unzip -qq src.zip -d "/target/root/"

তারপরে, আমাদের /target/root/পরে লক্ষ্য টার হিসাবে একইটি ব্যবহার করা দরকার যদিও আমরা কেবল একটি নির্দিষ্ট সাব-ডিরেক্টরিটিই বের করতে চাইছি, আনজিপ করার পদ্ধতিটি যেমন:

unzip -qq src.zip "sub/dir/*" "/target/root/"

সর্বোপরি, নিয়মটি আসলে সহজ, বিকল্পটির জন্য একই টার্গেট রুট ডিরেক্টরিটি ব্যবহার করুন-d

বিটিডাব্লু, আনজিপটি -qqসত্যিই শান্ত থাকার জন্য বিকল্পটি হ'ল এটিকে সরাতে নির্দ্বিধায়।


এফওয়াইআই: আমি <kbd> আনজিপ -কিউকিউ 2.3.zip "ম্যাজেন্টো 2-2.3 / বিক্রেতার / *" "বিক্রেতা /" </kbd> পেয়েছি এবং <kbd> সতর্কতা পেয়েছি: ফাইলের নাম মিলছে না: বিক্রেতা / `</kbd>। এটি ব্যাশে একটি উবুন্টু ইনস্টল রয়েছে on আমি খুব কমই আনজিপ করি, সম্ভবত অন্য কিছু ভুল করেছি ...
ক্রিস কে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.