এটি করার উদ্দেশ্যে কি?
ls
বর্তমান ডিরেক্টরিতে ফাইলগুলি তালিকাভুক্ত করে
$(ls)
ls
যুক্তি হিসাবে স্থানগুলির আউটপুট প্রতিস্থাপন করেrm
- মূলত
rm $(ls)
বর্তমান ডিরেক্টরিতে সমস্ত ফাইল মোছার উদ্দেশ্যে করা হয়
এই ছবির কি সমস্যা ?
ls
ফাইলনামে বিশেষ অক্ষরগুলি সঠিকভাবে পরিচালনা করতে পারে না। ইউনিক্স ব্যবহারকারীদের সাধারণত বিভিন্ন পন্থা ব্যবহার করার পরামর্শ দেওয়া । ফাইলের নাম গণনা সম্পর্কে একটি সম্পর্কিত প্রশ্নে আমি এটিও দেখিয়েছি । এই ক্ষেত্রে:
$ touch file$'\n'name
$ ls
file?name
$ rm $(ls)
rm: cannot remove 'file': No such file or directory
rm: cannot remove 'name': No such file or directory
$
এছাড়াও, ডেনিসের উত্তরে যথাযথভাবে উল্লিখিত হিসাবে, নেতৃস্থানীয় ড্যাশযুক্ত ফাইলের নামটি rm
প্রতিস্থাপনের পরে যুক্তি হিসাবে ব্যাখ্যা করা যেতে পারে , যা ফাইলের নাম অপসারণের উদ্দেশ্যকে পরাস্ত করে।
কি কাজ
আপনি বর্তমান ডিরেক্টরিতে ফাইলগুলি মুছতে চান। সুতরাং গ্লোব ব্যবহার করুন rm *
:
$ ls
file?name
$ rm $(ls)
rm: cannot remove 'file': No such file or directory
rm: cannot remove 'name': No such file or directory
$ rm *
$ ls
$
আপনি find
কমান্ড ব্যবহার করতে পারেন । এই সরঞ্জামটি প্রায়শই কেবল বর্তমান ডিরেক্টরিগুলির চেয়ে বেশি জন্য সুপারিশ করা হয় - এটি অবিচ্ছিন্নভাবে পুরো ডিরেক্টরি ট্রিকে অতিক্রম করতে পারে এবং এর মাধ্যমে ফাইলগুলিতে অপারেট করতে পারে-exec . . .{} \;
$ touch "file name"
$ find . -maxdepth 1 -mindepth 1
./file name
$ find . -maxdepth 1 -mindepth 1 -exec rm {} \;
$ ls
$
পাইথন ফাইলের বিশেষ অক্ষরগুলির সাথে ইস্যু করে না, তাই আমরা এটিও নিয়োগ করতে পারি (লক্ষ্য করুন যে এটি কেবল ফাইলগুলির জন্য, আপনাকে ব্যবহার করতে হবে os.rmdir()
এবং os.path.isdir()
আপনি ডিরেক্টরিতে পরিচালনা করতে চান):
python -c 'import os; [ os.remove(i) for i in os.listdir(".") if os.path.isfile(i) ]'
প্রকৃতপক্ষে, উপরের কমান্ডটি ~/.bashrc
সংক্ষিপ্ততার জন্য ফাংশন বা উলেস রূপান্তরিত হতে পারে । উদাহরণ স্বরূপ,
rm_stuff()
{
# Clears all files in the current working directory
python -c 'import os; [ os.remove(i) for i in os.listdir(".") if os.path.isfile(i) ]'
}
পার্ল সংস্করণ হবে
perl -e 'use Cwd;my $d=cwd();opendir(DIR,$d); while ( my $f = readdir(DIR)){ unlink $f;}; closedir(DIR)'