আমার কাছে ফাইলগুলির একটি তালিকা রয়েছে যা আমি আমার ফাইল সিস্টেমে উপস্থিত রয়েছে কিনা তা যাচাই করতে চাই। আমি এটি ব্যবহার করে এটি করার কথা ভেবেছিলাম find:
for f in $(cat file_list); do
find . -name $f > /dev/null || print $f
done
(ব্যবহার করে zsh) তবে এটি কাজ করে না যা এটি ফাইলটি আবিষ্কার করে কিনা তা findপ্রস্থান 0করে। আমি অন্য কিছু পরীক্ষা যা কিনা তা দেখতে পরীক্ষা মাধ্যমে এটি পাস পারে findকোনো আউটপুট (অশোধিত কিন্তু কার্যকর প্রতিস্থাপন করতে হবে উৎপন্ন > /dev/nullসঙ্গে |grep '') কিন্তু একটি ছাগল ধরা একটি দানব ব্যবহার মত এই মতানুযায়ী (অন্যান্য জাতীয়তা sledgehammers এবং আখরোট সম্পর্কে কিছু বলতে পারে )।
findআমাকে একটি কার্যকর প্রস্থান মূল্য দেওয়ার জন্য বাধ্য করার কোনও উপায় আছে ? বা অন্তত সেই ফাইলগুলির তালিকা পাওয়া যায় নি যা পাওয়া যায় নি? (আমি লজিকাল সংযোগকারীগুলির কয়েকটি ধূর্ত ধরণের পছন্দ দ্বারা সম্ভবত আরও সহজ হওয়াটা কল্পনা করতে পারি, তবে আমি যখন এটি বের করার চেষ্টা করি তখন আমি সবসময় গিঁটে আবদ্ধ হতে পারি seem)
পটভূমি / অনুপ্রেরণা: আমার একটি "মাস্টার" ব্যাকআপ আছে এবং আমি আমার স্থানীয় মেশিনের কিছু ফাইল মুছে ফেলার আগে আমার মাস্টার ব্যাকআপে উপস্থিত রয়েছে (কিছুটা জায়গা তৈরি করতে) তা পরীক্ষা করতে চাই। সুতরাং আমি ফাইলগুলির একটি তালিকা তৈরি করে sshএটিকে মাস্টার মেশিনে এড করেছিলাম এবং তখন হারিয়ে যাওয়া ফাইলগুলি সন্ধান করার সর্বোত্তম উপায়টি খুঁজে বের করার জন্য ক্ষতির মধ্যে পড়েছিলাম ।
locateফাইল সিস্টেমের বর্তমান অবস্থা দেখাচ্ছে না, এটি একদিন বা এক সপ্তাহও পুরানো হতে পারে। এটি ব্যাকআপ পরীক্ষার জন্য বেস হিসাবে উপযুক্ত।
locate।