syMLink টার্গেট দ্বারা ফাইল তালিকা


23

সিম্বলিংকের নাম নয়, প্রতীকী লিঙ্ক লক্ষ্য নামের মাধ্যমে ফিল্টার করে আমি কীভাবে ফাইলের তালিকা (এবং তারপরে সেই তালিকাটি দিয়ে কিছু করব) করব ? উদাহরণস্বরূপ নিম্নলিখিত তালিকা থেকে আমি কেবল প্রথম চারটি ফাইলের মধ্যে আগ্রহী (লক্ষ্যযুক্ত bar):

foo ->  /tmp/bar
bar ->  /home/me/bartoo
baz ->  /home/me/public/barthree
zoo ->  /usr/share/bar
moo ->  /tmp/foo
roc ->  /tmp/roc

উত্তর:


31

আপনি সিমলিংক টাইপের সমস্ত ফাইল আনার জন্য অনুসন্ধান ব্যবহার করতে পারেন -ilnameএবং লিঙ্ক গন্তব্যের নাম অনুসারে অনুসন্ধানের বিকল্পটি যুক্ত করতে পারেন। এটি ঠিক মত কাজ করে -inameতবে লিঙ্ক নামের পরিবর্তে লিঙ্ক লক্ষ্য নামের জন্য।

find -type l -ilname "*bar*"

এটি এখনও লক্ষ্যটির বাইরে নয়, লিঙ্কটির নাম মুদ্রণ করবে। আপনি যদি লক্ষ্যগুলির নাম মুদ্রণ করতে চান তবে এটি চেষ্টা করুন:

find -type l -ilname "*bar*" -printf "%l\n"

অথবা একটি পূর্ণ lsশৈলীর আউটপুট পান

find -type l -ilname "*bar*" -ls

" তালিকার সাথে কিছু করুন " বলতে আপনার অর্থ কীটি অস্পষ্ট, তবে আপনি যদি লিঙ্ক ফাইলগুলিতে পরিচালনা করতে চান তবে আপনি এই -execযুক্তিটি সন্ধান করতে পারেন:

find -type l -ilname "*bar*" -exec touch {} \;

তবে যদি আপনাকে লিঙ্ক টার্গেটগুলিতে অপারেশন করার প্রয়োজন হয় তবে আপনাকে -printfলক্ষ্য মানগুলি পেতে এবং তারপরে xargsবা কিছু চালানোর জন্য নিজেকে লুপ করতে হবে। আপনি এরকম কিছু করতে পারেন:

find -type l -printf "%l\n" | grep bar | xargs touch

... যা আপনার নামের সাথে মিলে যাওয়ার grepপরিবর্তে কীভাবে ব্যবহার করতে হয় তাও দেখায় find -ilname, যদিও আপনি যেভাবেই এটি করতে পারেন could


ধন্যবাদ কালেব! আপনি আমার তাত্ক্ষণিক প্রশ্নের পুরোপুরি উত্তর দিয়েছিলেন এবং পাশাপাশি কয়েকটি পাশের চ্যানেল কেসগুলিও আবৃত করেছেন যা আমি অবশ্যই ব্যবহার করব।
— ম্যাট উইলকি

1
কোন ধারণা কেন এটি find /dev/disk/ -type l -ilname "*sde*"কাজ করে না?
— কুম্ভ শক্তি

GNU অনুসন্ধান প্রয়োজন।
— ceving
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.