প্রশ্ন চিহ্ন দিয়ে শুরু হওয়া সমস্ত ফাইল মুছুন


23

আমার একটি ফোল্ডার রয়েছে যার মধ্যে আমার কাছে প্রায় 4k ফাইল রয়েছে। এর মধ্যে কয়েকটি ফাইল আ ?বা !চরিত্র দিয়ে শুরু হয় । আমাকে এগুলি মুছতে হবে তবে এমন কোনও অভিব্যক্তি খুঁজে পাচ্ছি না যা এমন করবে:

rm -f ./?*

শুধু সবকিছু মুছে দেয়। আমি সম্ভবত এলএস এ ব্যবহার করতে পারি grepএবং এটি পাইপ দিয়ে xargsফাইলগুলিকে অন্য ফোল্ডারে সরিয়ে নিতে পারি তবে আমি আশা করছিলাম যে এটি করার কোনও সঠিক উপায় আছে। ফাইল ?এবং !ফাইল উভয়ের জন্য সহায়তা প্রয়োজন ।

উত্তর:


26

কোনও অভিনব জিনিসগুলির প্রয়োজন নেই। কেবল ?এড়িয়ে চলুন যাতে এটি পৃথিবীর অংশ হিসাবে বিবেচিত হয় না:

rm -f ./\?*

!এটিও কাজ করে:

rm -f ./\!*

অথবা একটিতে হুড়োহুড়ি পড়ে:

rm -f ./{\?,\!}*

হালনাগাদ

সবেমাত্র লক্ষ্য করা গেছে যে আপনি grepআউটপুট দেওয়ার পরামর্শ দিচ্ছেন ls। আমি আপনার দৃষ্টি আকর্ষণ করতে চেয়েছিলাম যে আপনার উচিত হবে না যে ls এর আউটপুটকে বিশ্লেষণ করবেন


4
পুনঃটুইট ওয়াইল্ডকার্ড পালানোর বিষয়ে আপনি যদি না জানেন তবে কীভাবে এটি করবেন তা স্পষ্ট from
একটি সিএনএন

আপনার প্রশ্নটিতে @ ভোটের পরে 5 টি ভোট পেয়ে এখনও বোকা বোধ করছেন? :) যাইহোক, আপডেট উত্তর দেখুন।
জোসেফ আর।

ধন্যবাদ এবং ধন্যবাদ :) ... এলএস আউটপুটে সমস্যা সম্পর্কে সচেতন ছিল তবে আমার ফাইলগুলির একটি নির্দিষ্ট প্যাটার্ন ছিল যা আমি বিশ্বাস করতে পারি। তবুও, জেনে রাখা ভাল :)
পুনরুদ্ধার করুন

13

আমার ক্ষেত্রে, চরিত্রগুলি সত্যই প্রশ্ন চিহ্ন নয়, তবে ইউনিকোড অক্ষরগুলি দৃশ্যত আমার কনসোলটিতে প্রদর্শিত হতে পারে নি।

rm -i *আমার জন্য কাজ করে । আপনি যদি এটি না করতে চান তবে http://www.cyberciti.biz/tips/delete-remove-files-with-inode-number.html তে বর্ণিত হিসাবে আপনি ইনোড দ্বারাও মুছতে পারেন ।

ইনোডটি সন্ধান করতে, ব্যবহার করুন:

ls -il

তারপরে:

find . -inum [inode-number] -exec rm -i {} \;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.