লিনাক্স এক্সটেনশন (.txz) দ্বারা সাব ডিরেক্টরিতে ফাইলগুলি সন্ধান করে তারপরে নিয়মিত এক্সপ্রেশন ব্যবহার করে এটিকে নির্দিষ্ট ডিরেক্টরিতে সরিয়ে ফেলুন [সদৃশ]


0

এই প্রশ্নের ইতিমধ্যে এখানে একটি উত্তর আছে:

আমি একটি সার্ভার থেকে একটি বৃহত সংখ্যক উপ ডিরেক্টরি সহ একটি ডিরেক্টরি মিরর করে রেখেছি, যার প্রত্যেকটিতে একটি .txz প্যাকেজ এবং সাধারণ .txt এবং বিবরণী ফাইল রয়েছে। আমি যা করতে চাই তা হল:

সমস্ত উপ ডিরেক্টরিগুলির মধ্যে সমস্ত .txz ফাইলগুলি সন্ধান করুন / সন্ধান করুন, তারপরে সেগুলি একটি নির্দিষ্ট ফোল্ডারে সরান; নিয়মিত এক্সপ্রেশন ব্যবহার করে। স্ল্যাকওয়্যার লিনাক্সের ব্যাশে নিয়মিত প্রকাশটি কী হবে? ধন্যবাদ



আপনার নিয়মিত প্রকাশের প্রয়োজন কী? আপনি কি কেবল .txz ফাইলের সাথে মিল করার চেষ্টা করছেন, বা এখানে অন্য কিছু চলছে?
lindes-hw

উত্তর:


1

আপনি যেমনটি জিজ্ঞাসা করেছিলেন তেমনভাবে আপনার প্রশ্নের উত্তর দিতে:

find -regex '.*\.txz' -type f -exec mv {} '/destination/path' \;

তবে খেয়াল করুন যে আপনার কাজের জন্য রেজেক্সের ব্যবহার অপ্রয়োজনীয়। নীচের কমান্ডটিও কাজ করবে:

find -name '*.txz' -type f -exec mv {} '/destination/path' \;

আপনি এটিকে ব্যাশ এবং এমভি বাদে কিছু ব্যবহার না করেও করতে পারেন। এটি প্যাটার্ন অনুসন্ধান এবং শেলের গ্লোবস্টার বিকল্পটি ব্যবহার করে।

shopt -s globstar
for file in ./**/*.txz; do
    [[ -f $file ]] && mv "$file" '/destination/path'
done
shopt -u globstar
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.