"-Exec" - "এক্সেক্স rm -f {} \" ব্যবহার করার সময় "অনুসন্ধান করুন: argument -exec" এর অনুপস্থিত আর্গুমেন্ট


12

আমি এই আদেশটি চালাচ্ছি:

~/shell_temp$ find . -type f -name "IMAG1806.jpg" -exec rm -f {}\

আমি নীচে আউটপুট পেয়েছি:

> IMAG1806.jpg

Error:
find: missing argument to `-exec'

বর্তমান ডিরেক্টরি থেকে কোনও ফাইল সন্ধান এবং এর সাথে মুছে ফেলার জন্য সঠিক আদেশ কি -exec?


1
আপনি কি ঠিক করতে পারবেন না rm "IMAG1806.jpg"? এটি একই ডিরেক্টরিতে রয়েছে, সুতরাং আপনি কী জানেন এটি জানেন।
দ্য ওয়ান্ডারার

@ জ্যাকারি 1 - ধরে নেবে যে ওপি "শুকনো রান" করছে। আমি একাধিক ফাইল মাত্র ক্ষেত্রে আপনার খুঁজুন "খুঁজে বের করে" RM সঙ্গে একটি -i ব্যবহার তারপর অভিপ্রেত বা অন্তত -exec ছাড়া চলমান এবং ফাইল তালিকাটির পর্যালোচনা বিবেচনা করবে
প্যান্থার

1
@ জ্যাকারি 1: ফাইন্ড কমান্ডটি বর্তমান ডিরেক্টরিতে এবং এর সমস্ত সাব-ডিরেক্টরিতে (যে কোনও গভীরতায়) এই নামের সাথে ডাকা সমস্ত ফাইল মুছে ফেলবে।
ডেনিস 21

3
অথবা -exec rmকেবল -deleteসরাসরি ব্যবহারের পরিবর্তে ।
ব্রায়াম

উত্তর:


30

আপনি ;শেষে এটিকে মিস করেছেন (এবং একটি স্থান খুব বেশি {}এবং এর মধ্যেও ;)। সঠিক আদেশটি হ'ল:

find . -type f -name "IMAG1806.jpg" -exec rm -f {} \;

;এর -execপ্রাকটিকের সমাপ্তি নির্দেশ করে find

এছাড়াও মনে রাখবেন আমরা ব্যবহার করেছি \;অর্থাত \সামনে ;ব্যাখ্যা অব্যাহতি ;শেল দ্বারা, অন্যথায় বিবেচনা করবে শেল ;পুরো শেষ হিসাবে findকমান্ড findএকই ভুল নিক্ষেপ করা হবে। আপনি ';'পরিবর্তে ব্যবহার করতে পারেন \;

আপনি \শেষে ব্যবহার করছিলেন, এটি আপনার শেলটি PS2ইঙ্গিত দেয় (নির্দেশিত >) এর মাধ্যমে ইনপুট নেওয়া চালিয়ে যাবে , আপনি IMAG1806.jpgআবার টাইপ করেছেন , সুতরাং পুরো কমান্ডটি হয়ে যায়:

find . -type f -name "IMAG1806.jpg" -exec rm -f {}IMAG1806.jpg

যেহেতু আপনি দেখতে পারেন এই সঙ্গে এ সব একটি বৈধ কমান্ড নয় IMAG1806.jpgশেষে, কোন বন্ধের -execমধ্যে সম্পৃক্ত এবং ব্যবধানের ছাড়া {}এবং \;


1
"আপনি ;এটিকে শেষের দিকে মিস করেছেন " এর জন্য ধন্যবাদ, আমি এই আধুনিক এইচডি স্ক্রিনগুলির :পরিবর্তে ভুলক্রমে পরিবর্তে টাইপ করেছি বুঝতে ;
পেরে

7

আপনি সহজভাবে পারেন

find . -type f -name 'IMAGE1806.jpg' -delete

ম্যান পৃষ্ঠা থেকে:

Delete files; true if removal succeeded.  If the removal failed,
an  error message is issued.  If -delete fails, find's exit sta‐
tus will be nonzero (when it eventually exits).  Use of  -delete
automatically turns on the -depth option.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.