একাধিক এক্সটেনশান সহ ফাইলগুলি অনুলিপি করা হচ্ছে


22

আমি একক গন্তব্য ডিরেক্টরিতে একাধিক এক্সটেনশানযুক্ত ফাইলগুলি অনুলিপি করতে চাই।

উদাহরণস্বরূপ, কার্যকারী ডিরেক্টরিতে সমস্ত .txt ফাইল নামক ডিরেক্টরিতে অনুলিপি করতে আমি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারি destination:

cp -v *.txt destination/

এবং আমি ওয়ার্কিং ডিরেক্টরিতে সমস্ত .png ডিরেক্টরিগুলিতে অনুলিপি করতে নিম্নলিখিতটি ব্যবহার করতে পারি destination:

cp -v *.png destination/

তবে এগুলি পৃথক কমান্ড (এমনকি কমান্ডের ইতিহাস ব্যবহারের পরেও) টাইপ করা সময়সাপেক্ষ। সুতরাং, কোন উপায় আছে যে, আমি বলতে পারেন হয় cpপারেন প্যাটার্ন সঙ্গে ফাইল কপি করতে *.txt বা প্যাটার্ন *.pngথেকে destination? আদর্শভাবে, আমি দুটিরও বেশি নিদর্শন নির্দিষ্ট করতে সক্ষম হতে চাই - উদাহরণস্বরূপ cpসমস্ত *.txt বা *.png বা *.jpg ফাইলগুলিতে অনুলিপি করার নির্দেশ দেওয়া destination

আমি নিশ্চিত যে এই সমস্ত কিছুই শেল স্ক্রিপ্ট ব্যবহার করে সম্ভব - আমি ব্যবহার করছি bash, উদাহরণস্বরূপ - তবে কনসোল থেকে আরও সহজভাবে এটি সম্পাদন করার কোনও উপায় আছে কি? আমি কি কোনওভাবে এটি করতে ব্রেস প্রসার ব্যবহার করতে পারি?

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

এ নিয়ে আপনার কি কোনও ভাবনা আছে?


10
cp -v *.txt *.png destination/?
ইরুভার

উত্তর:


55

বন্ধনী সম্প্রসারণ কাজ সম্পন্ন হবে। man bashএবং অনুসন্ধান করুন Brace Expansion

cp *.{txt,jpg,png} destination/

সম্পাদনা করুন:

ওপির অনুরোধটি মেনে চলার জন্য, উপরের কমান্ডটি ভের্বোজ বিকল্পটি অনুপস্থিত:

cp -v *.{txt,jpg,png} destination/

2
আমি কি উইন্ডোজে এটি করতে পারি?
সার্জিওল

যদি আমি করি cp data/images/*.{jpg,jpeg,png,mp4} destination/এবং একটি mp4ফাইল বিদ্যমান না থাকে তবে আমি একটি No such file or directoryত্রুটি পাই যা স্ক্রিপ্টটি ভেঙে দেয়। আমি কি একাধিক এক্সটেনশানগুলি দয়া করে কোনও অনুপস্থিত ফর্ম্যাটগুলি পরিচালনা করতে পারি?
ব্র্যাডগ্রিনস

1
@ ব্র্যাডগ্রিনস আপনার মন্তব্যগুলিতে এখানে জিজ্ঞাসা করার চেয়ে সত্যই একটি নতুন প্রশ্ন পোস্ট করা উচিত। আপনার প্রশ্নের উত্তর এমনকি ইতিমধ্যে থাকতে পারে। একটি নতুন প্রশ্ন পোস্ট করা কেবল আপনার উত্তরই পাবে না তবে এটির সাহায্যে অন্যরাও এটি অনুসন্ধানযোগ্য হবে।
টিমোথি মার্টিন

0
for filename in /Photos/directory/* ; do
    filenameWithoutPath="${filename##*/}"
    first_num="${filenameWithoutPath%%.*}"
    last_num="${filenameWithoutPath##*.}"
    cp $filename /Photos/directory/$first_num-$last_num.jpg
done

কাজ করছে!

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