এই কোঁকড়ানো ধনুর্বন্ধনী ধনুর্বন্ধক একা বাশ দ্বারা বাকি; এগুলি যথাক্রমে অন্তর্গত findএবং xargsতাদের ম্যান-পৃষ্ঠাগুলিতে বর্ণিত।
man find
-exec হুকুম ;
সম্পাদন কমান্ড ; যদি 0 স্ট্যাটাস ফিরে আসে তবে সত্য true নিম্নলিখিত সমস্ত আর্গুমেন্টগুলি কমান্ডের আর্গুমেন্ট হিসাবে গ্রহণ করা হয় যতক্ষণ না যুক্তিযুক্ত যুক্তি উপস্থিত না ;হয়। স্ট্রিং {}বর্তমান ফাইলের নাম দ্বারা প্রতিস্থাপিত হয় প্রক্রিয়া করা হচ্ছে সর্বত্র কম্যান্ড আর্গুমেন্ট ঘটে, শুধু আর্গুমেন্ট যেখানে এটি একা হয়, কিছু সংস্করণে হিসাবে find। এই দুটি \নির্মাণই শেল দ্বারা প্রসার থেকে রক্ষা পেতে (ক ) বা উদ্ধৃত হওয়া প্রয়োজন হতে পারে । -execবিকল্পের ব্যবহারের উদাহরণগুলির জন্য উদাহরণ বিভাগটি দেখুন । নির্দিষ্ট
কমান্ডপ্রতিটি ম্যাচ করা ফাইলের জন্য একবার চালানো হয়। কমান্ডটি শুরু ডিরেক্টরিতে কার্যকর করা হয়। -exec
অ্যাকশনটি ব্যবহারের আশেপাশে অনিবার্য সুরক্ষা সমস্যা রয়েছে ; -execdirপরিবর্তে আপনার বিকল্পটি ব্যবহার করা উচিত ।
-exec হুকুম {} +
ক্রমের এই রূপটি নির্বাচিত ফাইলগুলিতে -execনির্দিষ্ট কমান্ডটি চালায় , তবে প্রতিটি নির্বাচিত ফাইলের নাম শেষে অন্তর্ভুক্ত করে কমান্ড লাইনটি নির্মিত হয়; কমান্ডের অনুরোধের মোট সংখ্যা মিলিত ফাইলগুলির সংখ্যার তুলনায় অনেক কম হবে। কমান্ড লাইনটি একইভাবে নির্মিত যা xargsতার কমান্ড লাইনগুলি তৈরি করে। {}কমান্ডের মধ্যে কেবলমাত্র একটি উদাহরণ অনুমোদিত। কমান্ডটি শুরু ডিরেক্টরিতে কার্যকর করা হয়। যদি findকোনও ত্রুটির মুখোমুখি হয়, এটি কখনও কখনও তাত্ক্ষণিকভাবে প্রস্থান করতে পারে, তাই কিছু মুলতুবি কমান্ডগুলি মোটেই চালিত হতে পারে না। এই রূপটি -execসর্বদা সত্য ফিরে আসে।
-execdir হুকুম ;
-execdir হুকুম {} +
পছন্দ করুন -execতবে উল্লিখিত কমান্ডটি মেলে থাকা ফাইল সহ সাব-ডাইরেক্টরি থেকে চালিত হয়, যা সাধারণত আপনি যে ডিরেক্টরিটি সন্ধান শুরু করেছিলেন তা নয়। কমান্ডগুলি চাওয়ার পক্ষে এটি অনেক বেশি নিরাপদ পদ্ধতি, কারণ এটি ম্যাচের ফাইলগুলিতে পাথগুলি সমাধান করার সময় জাতিদের পরিস্থিতি এড়িয়ে চলে। -exec ক্রিয়া হিসাবে ,
+ ফর্মটি -execdir একাধিক ম্যাচ করা ফাইল প্রক্রিয়া করার জন্য একটি কমান্ড লাইন তৈরি করবে, তবে আদেশের যে কোনও অনুরোধ কেবল একই সাব-ডিরেক্টরিতে বিদ্যমান ফাইলগুলি তালিকাভুক্ত করবে। আপনি যদি এই বিকল্পটি ব্যবহার করেন তবে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনার $PATHপরিবেশের ভেরিয়েবলটি রেফারেন্স দেয় না.; অন্যথায়, আক্রমণকারী কোনও ডিরেক্টরিতে চালিত করবে এমন ডিরেক্টরিতে যথাযথ-নামক একটি ফাইল রেখে তাদের যে কোনও কমান্ড চালাতে পারে -execdir। $PATHখালি খালি বা নিরঙ্কুশ ডিরেক্টরি নাম নয় এমন এন্ট্রি থাকাতে এটি একই প্রযোজ্য । যদি findকোনও ত্রুটির মুখোমুখি হয়, এটি কখনও কখনও তাত্ক্ষণিকভাবে প্রস্থান করতে পারে, তাই কিছু মুলতুবি কমান্ডগুলি মোটেই চালিত হতে পারে না। কর্মের ফলাফলের কিনা উপর নির্ভর করে +বা ;বৈকল্পিক ব্যবহৃত হচ্ছে;
-execdir কমান্ড {} + সর্বদা সত্য প্রত্যাবর্তন করে, যখন -execdir কমান্ডটি {} ; কেবল সত্যটি প্রদান করে যদি কমান্ড 0 দেয়।
man xargs
-I প্রতিস্থাপন কার্যক্রম
প্রারম্ভিক-আর্গুমেন্টগুলিতে স্ট্যান্ডার্ড ইনপুট থেকে পঠিত নামগুলি সহ প্রতিস্থাপন-স্ট্রিংয়ের ঘটনাগুলি প্রতিস্থাপন করুন। এছাড়াও, অব্যক্ত ফাঁকা স্থানগুলি ইনপুট আইটেমগুলি শেষ করে না; পরিবর্তে বিভাজক হ'ল নতুন লাইন চরিত্র। সূচিত করে -xএবং -L 1।
-i[ প্রতিস্থাপন-str ], --replace[ =প্রতিস্থাপন-স্ট্র ]
এই বিকল্পটি -Iপ্রতিস্থাপন-str এর প্রতিশব্দ হয় যদি প্রতিস্থাপন-str নির্দিষ্ট করা থাকে। যদি প্রতিস্থাপন-স্ট্রিং আর্গুমেন্টটি অনুপস্থিত থাকে তবে প্রভাবটি একই রকম হয় -I{}। এই বিকল্পটি হ্রাস করা হয়; -Iপরিবর্তে ব্যবহার করুন।
সম্পাদনা করুন: এবং এখানে বাশ কেন এই কোঁকড়া ধনুর্বন্ধনীগুলি উপেক্ষা করে:
man bash
{ তালিকা; }
তালিকাটি কেবল বর্তমান শেল পরিবেশে কার্যকর করা হয়। তালিকাটি অবশ্যই একটি নতুন লাইন বা সেমিকোলন দিয়ে শেষ করতে হবে। এটি একটি গ্রুপ কমান্ড হিসাবে পরিচিত। রিটার্নের স্থিতি হল তালিকার প্রস্থান স্থিতি। লক্ষ্য করুন metacharacters অসদৃশ ( এবং ) , { ও } সংরক্ষিত শব্দ এবং ঘটতে হবে যেখানে একটি সংরক্ষিত শব্দ চিনে নিতে দিতে অনুমোদিত হয়। যেহেতু তারা কোনও শব্দের বিরতি সৃষ্টি করে না, তাই তাদের অবশ্যই হোয়াইটস্পেস বা অন্য শেল মেটাচারাক্টারের দ্বারা তালিকা থেকে আলাদা করতে হবে।
জোর দেওয়ার জন্য: তালিকাটি একটি নতুন লাইন বা সেমিকোলন দিয়ে শেষ করতে হবে ।
{}- এর অর্থ হ'ল কমান্ডtargetsসহ এটি ফাইলগুলিfindমুছে ফেলা /rmখুঁজে পাওয়া যায়।