লিনাক্স উবুতনুতে ফোল্ডারগুলি কীভাবে প্যারেন্ট ফোল্ডারে সরানো যায়


0

আমার নীচের মতো বিভিন্ন গভীরতার সাথে একটি ফোল্ডার কাঠামো রয়েছে।

parent/location/businessname/sublocation/hotelname
parent/location/businessname/hotelname

নীচের সর্বাধিক ফোল্ডারগুলির সবগুলিই হোটেল নাম এবং আমি এই ফাইলগুলি পিএইচপি ফাংশনে উত্স করার চেষ্টা করছি। এদিকে, আমি যা করার চেষ্টা করছি তা হ'ল নীচের মতো একক পিতামত ফোল্ডারে সর্বনিম্ন সর্বাধিক ফোল্ডার এবং সেগুলির বিষয়বস্তু দখল করা।

parent/hotelname

আমি একটি উবুন্টু মেশিনে আছি এবং আমি কমান্ড লাইনে নতুন কিন্তু এটি সম্পর্কে সম্পূর্ণ অজ্ঞ নয়। কোন সাহায্য প্রশংসা করা হবে।


ln-s পিতামাত / অবস্থান / ব্যবসায়িক নাম / sublocation / হোটেল নাম পিতাম / অবস্থান / ব্যবসায় নাম / হোটেল নাম হোটেলশোর্টকট
ফ্রান্সিসকো টপিয়া

এটা করতে পারি না। দীর্ঘ গল্প তবে সিমলিংক সম্ভব নয়, আমার আগের ফোল্ডারগুলির সঠিক নাম হওয়া দরকার বলে হোটেল নেম ফোল্ডার বাদে অন্য সমস্ত ফোল্ডার খনন করতে হবে, তবে এর কয়েকটি সঠিক নয়। যাই হোক ধন্যবাদ.
অ্যালেক্স নুপ

এত বেসিক আপনি পথ প্রসারিত করতে চান?
ফ্রান্সিসকো তাপিয়া

ফাইল এক্সপ্লোরার সম্পর্কে কী? এটি কি কমান্ড লাইনে থাকতে হবে? আপনি যদি এক্স 11 এ অ্যাক্সেস না করেন তবে ..
লেপটোনেটর

চূড়ান্ত ডিরেক্টরি কি সর্বদা hotelname/? যদি তা হয় তবে আপনি এর মতো কিছু ব্যবহার করতে পারেন find parent/ -type d -name hotelname -exec ln "{}/*" "{TargetDir}/" \;। এটি মূল কাঠামোর কোনও ফাইল পরিবর্তন না করেই একক লক্ষ্য ডিরেক্টরিতে প্রতিটি ফাইলের হার্ড লিঙ্ক তৈরি করবে। লক্ষ্য ডিরেক্টরিটি যে কোনও সময় মুছে ফেলা বা পুনর্নির্মাণ করা যেতে পারে।
এএফএইচ

উত্তর:


0

পাতাগুলির সর্বাধিক ফোল্ডারগুলি হয় তা হয় businessname/বা businessname/sublocationআপনি প্রথমে নেস্টেড ফোল্ডারগুলি দিয়ে শুরু করতে পারেন, তারপরে একই স্তরের হোটেলগুলিতে এগিয়ে যান sublocation/:

$ cd /tmp
$ rm -rf parent
$ mkdir -p parent/location/businessname/sublocation/hotelname1 \
           parent/location/businessname/hotelname2

$ for depth in 2 1; do
    find parent/location/businessname -mindepth $depth -type d -print0 \
      | while read -d '' dir; do
          echo "$dir"
          mv "$dir" parent/ \
            && rmdir --ignore-fail-on-non-empty $(dirname "$dir")
        done
  done

$ find parent/
parent/
parent/hotelname2
parent/hotelname1
parent/location

এটি খানিকটা হ্যাকি কারণ এটি sublocation/খালি না হওয়া পর্যন্ত বার বার ডিরেক্টরিটি মুছে ফেলার চেষ্টা করে (এতে অন্তর্ভুক্ত প্রতিটি হোটেলের জন্য)।

এটি নামের সংঘর্ষগুলির সাথেও কাজ করে না - এটি প্রদত্ত নামের সাথে প্রথম হোটেলটি স্থানান্তর করবে এবং অন্যকে জায়গায় রেখে দেবে।

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