আমি কীভাবে সমস্ত খালি ডিরেক্টরি মুছব


11

(একটি লিনাক্স সিস্টেমে)

আমার কাছে একটি ফাইল সিস্টেমে নেস্টেড সাব-ডাইরেক্টরিগুলির একটি বড় সেট রয়েছে। আমি সমস্ত ডিরেক্টরি পাথ ছাঁটাই করতে চাই যেগুলিতে কোনও ফাইল নেই।

অন্য কথায় আমি সেই ডিরেক্টরিটি বা সেই ডিরেক্টরিটির কোনও উপ-ডিরেক্টরিতে পুনরাবৃত্তভাবে কোনও ফাইল নেই এমন প্রতিটি ডিরেক্টরি মুছতে চাই।

উত্তর:


15

সমস্ত সংস্করণের সন্ধানের জন্য

find -depth -type d -empty -exec rmdir {} \;

আপনার যদি নতুন সংস্করণ থাকে

 find -type d -empty -delete

শীতল, -deleteপতাকা জানতেন না ।
ansi_lumen

আমিও না. আমি নতুন কিছু শিখেছি। আমি পূর্বে স্ক্রিপ্ট লিখেছি, খালি ডিরেক্টরিগুলি অনুসন্ধান করতে পুনরাবৃত্তি ব্যবহার করে। এটি সেই কার্যটি সহজতর করে তোলে।
জেমস

2
ya -mpty পতাকাটি এখানে সত্যিই সহায়তা করে। এটি যদি খালি ফাইলগুলি সন্ধান না করে তবে খালি ফাইলগুলি সন্ধান করতেও কাজ করে
মাইকে

1

সেরা সমাধান নাও হতে পারে তবে এই স্ক্রিপ্টটি কাজ করে:

#!/bin/sh

while true
do
    DIRS=`find . -xdev -type d -exec find {}  -maxdepth 0 -empty  \;`
    if [ -z "$DIRS" ]; then
        exit 0
    else
        echo $DIRS | xargs rmdir
    fi
done

( সমস্ত খালি ফোল্ডার তালিকার উত্তরের উপর ভিত্তি করে )


1
আমার কাছে কেবল এটি ঘটেছিল যে যদি আপনার কোনও খালি ডিরেক্টরি মুছে ফেলার অনুমতি না থাকে তবে এটি একটি অসীম লুপের মধ্যে চলে যাবে, সুতরাং দয়া করে পরিবর্তিত গৃহীত উত্তরটি ব্যবহার করুন :)
অ্যান্ড্রুআর

0
for i in `find -type d -empty`; do rmdir $i; done

বন্ধ, তবে সিগার নেই আপনি কেসটি হারিয়েছেন যেখানে কোনও ডিরেক্টরি অপসারণ করলে এর পিতামাতাকে খালি হয়ে যায়।
সাইমন রিখটার

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