मेरे पास एक निर्देशिका है (~/temp/
) जिसमें कई फ़ाइलें और उप निर्देशिकाएं हैं, और कुछ निर्देशिकाओं में, उनमें अन्य फ़ाइलें और उप निर्देशिकाएं हो सकती हैं। इसके अलावा, निर्देशिका में (~/temp/
), इसमें kept.txt
नाम के साथ एक विशेष txt फ़ाइल है, यह ~/temp/
में निहित कुछ सीधी फ़ाइलें और उप निर्देशिका सूचीबद्ध करती है, अब मैं ~/temp/
के अंतर्गत सभी अन्य फ़ाइलों और निर्देशिकाओं को हटाना चाहता हूं जो सूचीबद्ध नहीं हैं kept.txt
फ़ाइल, शेल कमांड के साथ इसे कैसे करें, बेहतर बेहतर।शैल स्क्रिप्ट: किसी फ़ाइल में सूचीबद्ध लोगों को छोड़कर निर्देशिका में सभी फ़ाइलों को कैसे हटाएं?
उदा।
निर्देशिका के रूप में नीचे पसंद करती है:
$ tree temp/ -F
temp/
├── a/
├── b/
├── c/
│ ├── f2.txt
│ └── z/
├── f1.txt
└── kept.txt
kept.txt
की सामग्री है:
$ more kept.txt
b
kept.txt
इस मामले के लिए:
- मैं
a/
,c/
औरf1.txt
हटाना चाहते हैं।c/
के लिए, निर्देशिका स्वयं और सभी उप सामग्री (फ़ाइलें और निर्देशिका) हटा दी जाएगी। kept.txt
में, प्रारूप प्रति पंक्ति एक आइटम (फ़ाइल या निर्देशिका) है।
इसके अलावा 'keep.txt' को भी हटा दिया जाएगा। – cdarke
नहीं, यह इसे हटा नहीं देगा क्योंकि ओपी ने 'keep.txt' फ़ाइल' रखा है 'रखा है। – anubhava
याद किया कि, क्षमा करें। (क्या वह संपादित नहीं किया गया था?) – cdarke