লিনাক্স: প্রদত্ত নামের সাথে সাব ডিরেক্টরিগুলির বিষয়বস্তু তালিকাবদ্ধ করে?


2

আমি উইন্ডোজ ডিরেক্টরি কাঠামো বিশ্লেষণ করতে লিনাক্স ব্যবহার করছি। কাঠামোটি হ'ল:

/Documents and settings
  /username1
    /My Documents
    ...
  /username2
    /My Documents
    ...
  ...

আমি কোন আদেশটি কার্যকর করতে পারি যাতে সমস্ত "আমার ডকুমেন্টস" ডিরেক্টরিগুলির বিষয়বস্তু (এবং উপ ফোল্ডারগুলি) এর মতো তালিকাবদ্ধ থাকে:

/Documents and Settings/username1/My Documents/filename
/Documents and Settings/username1/My Documents/subdir/filename
/Documents and Settings/username2/My Documents/filename

মূলত এখানে প্রচুর ব্যবহারকারী রয়েছে তবে তাদের মাই ডকুমেন্টস ফোল্ডারে প্রায় কোনওটির কাছেই কিছু নেই। আমি শুধু খুঁজে পেতে এবং সেই ব্যবহারকারীর যে বিষয়বস্তু দেখাতে চান না নথি আছে।

সম্পাদনা: প্রতিটি "ব্যবহারকারীর নাম" ডিরেক্টরিতে অনেকগুলি উপ ডিরেক্টরি থাকে। আমি কেবল আমার ডকুমেন্টস ফোল্ডারের নীচে গাছটি তালিকাবদ্ধ করতে চাই তবে একবারে সমস্ত ব্যবহারকারীর জন্য এটি করব।

উত্তর:


2

প্রথম দুটি উত্তরের সংমিশ্রণ, অনুসন্ধান এবং ls -R ব্যবহার করুন:

"/ ডকুমেন্টস এবং সেটিংস" -র নাম "আমার ডকুমেন্টস" -মামুখী ls -R {} \;

এটি আমার ডকুমেন্টস ডিরেক্টরিগুলির সমস্ত সন্ধান করবে এবং পুরো পথের নাম সহ তাদের নীচে সমস্ত কিছু তালিকাভুক্ত করবে। ডিরেক্টরিগুলির নামের ফাঁকা থাকার কারণে আপনার উদ্ধৃতিগুলি দরকার।

সম্পাদনা করুন: এটি কীভাবে কাজ করে তার একটি ব্যাখ্যা। এটি আমার দস্তাবেজের সাথে মেলে এমন কোনও ফাইল বা ডিরেক্টরি অনুসন্ধান করে / ডকুমেন্টস এবং সেটিংসে শুরু হয় । এটি যে প্রত্যেকটির সন্ধান করে এটির জন্য এটি ls এর মধ্যে subst for এর জন্য পথটি প্রতিস্থাপন করে। দ্য \; কমান্ডের সমাপ্তি নির্দেশ করে।


কি করে {} \; এর অর্থ কি?
ডেন ও'কনোর

এই কমান্ডটি নিক্ষেপ করছে: "এক্সেক্সের পক্ষে যুক্তি অনুপস্থিত"
ডেন ও'কনোর

নিশ্চিত হয়ে নিন যে আপনার কাছে \; (ব্যাকস্ল্যাশ সেমিকোলন) সেখানে।
কিথবি

আহ, একবার আপনি বুঝিয়ে দিয়েছিলেন আমি লক্ষ্য করেছি আমার '{}' এবং '\;' এর মধ্যে কোনও স্থান নেই। পারফেক্ট। আমি ধরে নিই '\;' শেলটি ';' বাড়াতে বাধা দেওয়া?
ডেন ও'কনোর

অঙ্কুর করুন, এটি নথি এবং সেটিংসের সমস্ত বিষয়বস্তু তালিকাভুক্ত করছে
ডেন ও'কনোর

2

কেবল সংগ্রহে যোগ করার জন্য, ls -R সত্যিই দুর্দান্ত আউটপুট তৈরি করে না তাই আমি তার পরিবর্তে ট্রি কমান্ডটি ব্যবহার করি

find "/Documents and settings" -name "My Documents" -exec tree -f -i --noreport {} \;

1
ls -R path_to_your_dir

অথবা

ls -lR path_to_your_dir

আরও ভাল দেখার জন্য

যাইহোক, সেরা দেখুন সঙ্গে অর্জন করা হয়

find path_to_your_dir

দ্রষ্টব্য: -আর অর্থ পুনরাবৃত্তি


আমার সম্পাদনা দেখুন, আমার প্রতিটি নথির ফোল্ডারে কেবল নীচে গাছের প্রয়োজন। নথি এবং সেটিংসের নীচে গাছ নয়।
ডেন ও'কনোর

0

আপনি # your_dir কমান্ডটি ব্যবহার করতে পারেন


আমার সম্পাদনা দেখুন, আমার প্রতিটি নথির ফোল্ডারে কেবল নীচে গাছের প্রয়োজন। নথি এবং সেটিংসের নীচে গাছ নয়।
ডেন ও'কনোর

0

আপনি যদি পথের নামটি দেখতে চান এবং পুরো পুনরাবৃত্ত -আর তালিকাটি না দেখতে চান তবে এটি আপনি যা চান মোটামুটি করে তা মনে হচ্ছে, যদিও এটি খানিকটা আড়ষ্ট:

find . -type d -name '*Documents' ! -empty | (while read d; do echo $d; ls -la $d; done)

0

আপনি যদি নথি এবং সেটিংস / ব্যবহারকারী / আমার নথির অধীনে ফাইল এবং ফোল্ডারগুলির পুনরাবৃত্ত তালিকা চান :

find Documents\ and\ Settings/*/My\ Documents -print

আপনি যদি কেবলমাত্র ডকুমেন্টস এবং সেটিংস / ব্যবহারকারী / আমার নথির অধীনে কেবল ফাইল এবং ফোল্ডারগুলি চান:

ls -dr Documents\ and\ Settings/*/My\ Documents/*

পূর্ববর্তীটিতে ডকুমেন্টস এবং সেটিংস / ব্যবহারকারী / আমার নথি / ডির 1 / ফাইল 1 এর মতো একটি ফাইল অন্তর্ভুক্ত থাকবে , তবে পরবর্তীকালে কেবলমাত্র নথি এবং সেটিংস / ব্যবহারকারী / আমার নথি / dir1 তালিকাভুক্ত করা হবে

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