টার্মিনালটি কীভাবে সমস্ত .svn ফোল্ডারগুলি পুনরাবৃত্তভাবে মোছার জন্য ব্যবহার করবেন?


56

আমি টার্মিনালে কী আদেশটি টাইপ করতে পারি যাতে আমি .svnকোনও ফোল্ডারের মধ্যে সমস্ত ফোল্ডার (এবং সমস্ত উপ-ডিরেক্টরি থেকে) মুছতে পারি তবে অন্য কিছু মুছতে পারি না?


সম্ভবত আপনি ঠিক svn export path/to/repo path/to/export/toপরিবর্তে পারে ...
জনি

একটি নোটটি svn exportহ'ল এসএনএন-র অংশ নয় এমন ফাইলগুলি অনুলিপি করে না। উদাহরণস্বরূপ, আমি এমন কোনও iOS অ্যাপ্লিকেশনটির জন্য এটি করতে চেয়েছিলাম যা কোকো পডগুলি ব্যবহার করে যেখানে আমরা পডস ফোল্ডারটি প্রতিশ্রুতিবদ্ধ না। এটি তখন আউটপুট থেকে এড়িয়ে যায়। আমি যা চাই তার জন্য রিচের উত্তরের অনুরূপ কিছু ব্যবহার করে শেষ করেছি।
jackofallcode

উত্তর:


120
cd to/dir/where/you/want/to/start
find . -type d -name '.svn' -print -exec rm -rf {} \;
  • সন্ধান করুন যা পুনরাবৃত্তি করে Use
  • বর্তমান ডিরেক্টরিতে।
  • ফাইল টাইপ ডিরেক্টরি
  • ফাইলের নাম .svn
  • এই বিন্দুতে কি মিলে যায় তা মুদ্রণ করুন (.svn ডায়ার্স)
  • কমান্ড কার্যকর করুন rm -rf (thing found from find)। {} সত্তা সত্তার জন্য স্থানধারক
  • দ্য ; এক্সেকের জন্য কমান্ডটি সম্পন্ন হয়েছে তা খুঁজে বের করে। যেহেতু শেলেরও কী ধারণা আছে; হ'ল, আপনাকে এটিকে এড়াতে হবে \ যাতে শেলটি এর সাথে বিশেষ কিছু না করে এবং সন্ধানের জন্য চলে যায়

2
ভাল সমাধান। যদিও findএটি -deleteখালি নয় এমন ডিরেক্টরি মুছবে না। এই পদ্ধতির তুলনায় ক্লিনার উদাহরণস্বরূপ ফাইলগুলির পুরো পাথের অংশগুলির সাথে মেলে শুরু।
ড্যানিয়েল অঙ্গুলিনির্দেশ

13
-exec rm -rf {} \;আপনি এটি যা চান তা কেবল এটিই খুঁজে পেয়েছে তা নিশ্চিত করার জন্য আমি প্রথমবার ছাড়া এটি চালানোর পরামর্শ দিই । আমার কোনও সমস্যা হয়নি যেখানে আমি ভুলক্রমে ভুল জিনিসটি এটির সাথে মুছে ফেলছি কারণ আমি সর্বদা প্রথমে যাচাই করে থাকি।
রব

2
@ রব ভাল পয়েন্ট, আমি সাধারণত-এক্সেক প্রতিধ্বনি rm -rf {} \; তারপর প্রতিধ্বনি সরান।
ধনী হোমোলকা

খুব বেশি কিছু না থাকলে অন্য একটি বিকল্প -exec rm -ri {} \;
হ'ল

4
-exec rm -rf {} +সম্ভবত এটি বহুগুণ দ্রুত, কারণ এটি খুব বেশি rmউদাহরণগুলি চালু করতে পারে না । পরিবর্তে, এটি একটি কলে সর্বাধিক পরিমাণ আর্গুমেন্ট (এই ক্ষেত্রে মুছে ফেলার ডিরেক্টরিগুলি) প্যাক করে। এটি সম্ভব কারণ rmএকাধিক যুক্তি গ্রহণ করে।
ড্যানিয়েল বি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.