একই বেস ফাইল নামটি সহ আমার বেশ কয়েকটি ফাইল রয়েছে। আমি একটি ব্যতীত সমস্ত অপসারণ করতে চাই
foo.org #keep
foo.tex #delete
foo.fls #delete
foo.bib #delete
etc
আমি এক রাখা প্রয়োজন না করে থাকেন, আমি ব্যবহার করতে পারে জানেন rm foo.*
।
TLDP প্রমান ^
একটি ম্যাচ অস্বীকার করেন। পরীক্ষা এবং ত্রুটির মাধ্যমে, আমি এটি সন্ধান করতে সক্ষম হয়েছি
rm foo.*[^org]
আমার যা প্রয়োজন তা করে, তবে বাক্য গঠনটি আমি আসলে বুঝতে পারি না।
এছাড়াও, আমার ব্যবহারের ক্ষেত্রে সীমাবদ্ধতা না থাকলেও, আমি মনে করি এই প্যাটার্নটিও উপেক্ষা করে foo.o
এবং foo.or
। এই প্যাটার্নটি কীভাবে কাজ করে এবং এমন এক গ্লোব কী দেখায় যা কেবল উপেক্ষা করে foo.org
?
Regular Expression
। আপনার গ্রুপিং অক্ষরগুলি সম্পর্কে আপনার যত্নবান হওয়া উচিত। বন্ধনী ব্যবহার করে আপনি একটি অক্ষর বর্গ অর্থ যে আপনি কোনো ফাইল বর্ণ দিয়ে একটি এক্সটেনশন ছিল মুছতে হবে নির্দিষ্ট কিছু o
, r
বা g
কোনো অনুক্রমে। একটি গোষ্ঠী তৈরি করতে এবং অক্ষরের ক্রম সংরক্ষণের জন্য প্রথম বন্ধনী ব্যবহার করুন।
foo.*[^org]
শুরু হওয়া যে কোনও ফাইলের foo.
নামের সাথে মিলবে । সুতরাং এটি মেলে দিবে foo.orb
, কিন্তু না foo.org
বা foo.or
বা foo.o
। গ্লেনজ্যাকম্যানের উত্তরটি দেখায় যে কীভাবে কোনও ম্যাচকে অস্বীকার করার জন্য বর্ধিত প্যাটার্ন মেলানো বৈশিষ্ট্যগুলি সক্ষম করতে হয়।
rm foo.*[^org]
সমস্ত ফাইল যা সরিয়ে ফেলা গত চরিত্র তন্ন তন্নo
,r
বাg
, তাইfoo.foo
পারেন মেলে না।