বেশ কয়েকটি ফোল্ডারের পুনরাবৃত্ত অনারার


8

আমার একাধিক ডিরেক্টরি ছড়িয়ে বেশ কয়েকটি আরআর সংরক্ষণাগার রয়েছে তবে সবগুলি আমার ডেবিয়ান ভিত্তিক এনএএস-তে একটি নির্দিষ্ট মূল ফোল্ডারের আওতায় রয়েছে। কেউ কি আমাকে এমন একটি সহজ স্ক্রিপ্ট লিখতে সহায়তা করতে পারেন যা প্রতিটি ফোল্ডারে পুনরাবৃত্তভাবে প্রবেশ করতে পারে, বিষয়বস্তুগুলি আনারার করে, প্যারেন্ট ফোল্ডারে ফিরে যেতে হবে এবং পরবর্তী ডিরেক্টরিতে চলে যেতে পারে? তাই:

cd Photos/Summer/Italy/
unrar e Italy.rar
wait
cd ../France/
unrar e France.rar
wait
etc...

সুতরাং এটি কেবল ফটোগুলি "ফটোগুলি" -র দিকে নির্দেশ করুন এবং এটি দিয়ে সমস্ত কিছু অবাস্তব করে তা ঝাপটায় ...

উদাহরণস্বরূপ, ডিরেক্টরি কাঠামো:

*Photos:
 -Summer
  --Italy
   ---Italy.rar
   ---Italy.r01
   ---Italy.r02
  --France
   ---France.rar
   ---France.r01
   ---France.r02
 -Winter
  --Siberia
   ---Siberia.rar
   ---Siberia.r01
   ---Siberia.r02
  --Canada
   ---Snow.rar
   ---Snow.r01
   ---Snow.r02

উত্তর:


16
find Photos/ -name '*.rar' -execdir unrar e {} \; 

ব্রিলিয়ান্ট, জানতেন না এত সহজ! আপনাকে অনেক ধন্যবাদ!
টুফ

3

unrar-r Recurse subdirectoriesস্যুইচটি ব্যবহার করে বিল্ট-ইন রিকার্সন রয়েছে ।

unrar x -r <parent directory>ফাইলগুলিতে <parent directory>বিদ্যমান যে কোনও ডিরেক্টরি কাঠামো রেখে, প্রতিটি উপ- ডিরেক্টরিতে সমস্ত সাব-ডাইরেক্টরির সামগ্রী অন্তর্ভুক্ত .rarকরে। ডিরেক্টরি কাঠামো অবাঞ্ছিত হয় eতার পরিবর্তে ব্যবহার করুন x


এটি সাব-ডাইরেক্টরি আর্কাইভ থেকে ফাইলগুলিতে বের করে আনবে <parent directory>। এটি এক্সট্রাক্ট করা ফাইলগুলিকে ফাইলগুলির পরবর্তী সাব ডিরেক্টরিতে রাখবে না .rar। সুতরাং এটি ফলাফল কী পছন্দসই হয় তার উপর নির্ভর করে। এই ক্ষেত্রে ওপি নির্দিষ্ট ছিল না। কখনও কখনও আপনার উত্তর আমার পক্ষে দরকারী তবে অন্য সময় আমার findউত্তর প্রয়োজন ।
ক্লিফ

1

আপনি যদি অনিবন্ধিত ফটোগুলি অন্য গন্তব্যে নিয়ে যেতে চান তবে শেষ পর্যন্ত গন্তব্যটি প্রবেশ করুন, এটির মতো:

find source_dir/ -name '*.rar' -execdir unrar e -o- {} /new/destination_dir/ \;

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.