অন্য উত্তরটি নির্দেশ করে, আপনি নামের সাথে সমস্ত ডিরেক্টরি সন্ধানের চেষ্টা করতে পারেন test
এবং সেগুলি মুছতে পারেন
find -name "test" -type d -delete
আমি ম্যাকের সাথে ক্রস সামঞ্জস্যের কিছু সমস্যা নিয়ে ছুটে এসেছি, সুতরাং আমি এই সমতুল্য আদেশটি ব্যবহার করেছি:
find -path "*/test" -type d -delete
- -পথ : পুরোপুরি যোগ্যতাসম্পন্ন ফাইলনামে একটি প্যাটার্ন সন্ধান করে।
তবে উভয় ক্ষেত্রেই, যদি নামের কোনও ডিরেক্টরিতে test
ফাইল থাকে, find
তবে এটি অভিযোগ করবেDirectory is not empty
করবে এবং ডিরেক্টরিটি সরাতে ব্যর্থ হবে।
আপনি যদি ডিরেক্টরি সহ সমস্ত ফাইল মুছতে চানtest
, তবে আমরা test
প্রথমে নামের ডিরেক্টরিগুলির মধ্যে থাকা সমস্ত ফাইল মুছতে একই কৌশলটি ব্যবহার করতে পারি ।
find -path "*/test/*" -delete
প্যাটার্ন:, "*/test/*"
নিশ্চিত করবে যে আমরা কেবল নামের নামের একটি ডিরেক্টরিতে ফাইল মুছব /test/
। ডিরেক্টরিগুলি খালি হয়ে গেলে, আমরা প্রথম কমান্ডটি ব্যবহার করে ডিরেক্টরিগুলি মুছতে পারি:
find -path "*/test" -type d -delete
উদাহরণ:
$ tree
.
├── mytest
│ └── test
│ └── blah.txt
├── test
│ ├── bar.jpg
│ └── dir
│ └── bar.bak
└── testdir
└── baz.c
5 directories, 4 files
$ find -path "*/test" -type d -delete
$ tree
.
├── mytest
│ └── test
├── test
└── testdir
└── baz.c
4 directories, 1 file
$ find -name "test" -type d -delete
$ tree
.
├── mytest
└── testdir
└── baz.c
2 directories, 1 file
+
খুঁজুন। আমার কোনও ধারণা ছিল না, অবশ্যই আশা করি আমি এটি অনেক আগে জানতাম।