এমন প্রচুর পরিস্থিতি রয়েছে যেখানে একটি ব্যবহার *
কার্যত অনিবার্য - যেমন rm -rf *
একটি ফোল্ডারে যা হাজার হাজার সাব-ফোল্ডার এবং ফাইল ধারণ করে।
তবে আপনি যদি rm
কমান্ড থেকে কেবল একটি বা দুটি ফাইল বা ফোল্ডার বাদ দিতে চান ? আমি প্রায় আমার পথ googled এবং শুধুমাত্র এখানেfind . -depth -not \( -name 'one' -o -name 'two' \
-o -name 'three' \) -exec rm {} \;
বর্ণিত মত জটিল জটিল সমাধান পেয়েছি ।
কোনও সহজ উপায়ে এটি করার কোনও সম্ভাবনা আছে - সেই পথটি ছাড়াই find
? যেমন rm -rf --exclude='one' --exclude='two' --exclude='three' *
আরএসআইএনসি তে নাকি ঠিক rm -rf -e 'one','two','three' *
?
হয়তো এমনকি একটি সাধারণ সম্ভাবনা থেকে কিছু বাদ দেওয়ার *
(তাই অন্যান্য কমান্ডের মত cp
, mv
... তাদের নিজস্ব বাস্তবায়ন হবে না)? এরকম কিছু *{'one','two','three'}
নাকি?
mv -t /tmp one two three && rm -rf * && mv -t . /tmp/one /tmp/two /tmp/three
পারি, তবে আমি কোনও সমাধানটি পছন্দ করে এটিকে কিছু থেকে স্পষ্টতই বাদ দেওয়ার সম্ভাবনা প্রদান করব *
। অবশ্যই এমন পরিস্থিতি থাকবে যেখানে ফাইলগুলি অন্য গন্তব্যে সরিয়ে নেওয়া বা অনুলিপি করা কোনও বিকল্প হবে না।
find
সঙ্গে--delete
বিকল্প (নির্বাহ করার কোন প্রয়োজনrm
প্রতিটি ফাইল জন্য। যে অপ্রয়োজনীয় ওভারহেড যায়)।