কমান্ড লাইন থেকে একবারে একাধিক ফাইল অনুলিপি করুন
আপনি এটি অর্জন করতে পারেন এমন অনেকগুলি উপায় রয়েছে। আমি দেখেছি সবচেয়ে সহজ হল নিম্নলিখিতটি ব্যবহার করা।
cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/
সিনট্যাক্সটি সিপি কমান্ডটি ব্যবহার করে সেই ডিরেক্টরিতে যাওয়ার পথটি অনুসরণ করবে যা আপনার বন্ধনীতে মোড়ানো এবং কমা দ্বারা বিচ্ছিন্ন করতে চান এমন সমস্ত ফাইলের সাথে কাঙ্ক্ষিত ফাইলগুলি অবস্থিত।
নিশ্চিত করুন যে ফাইলগুলির মধ্যে কোনও ফাঁকা স্থান নেই। কমান্ডের শেষ অংশটি /home/usr/destination/
হ'ল ডিরেক্টরিটি যা আপনি ফাইলগুলি অনুলিপি করতে চান তা।
বা যদি সমস্ত ফাইলের উপসর্গ একই থাকে তবে ভিন্ন প্রান্ত থাকে তবে আপনি এরকম কিছু করতে পারেন:
cp /home/usr/dir/file{1..4} ./
যেখানে ফাইল 1, ফাইল 2, ফাইল 3 এবং ফাইল 4 অনুলিপি করা হবে।
আপনি যে প্রশ্নটি প্রশ্নের উত্তর দিয়েছেন তা থেকে আমি বিশ্বাস করি এটিই আপনি যা খুঁজছেন তা কিন্তু এটির মতোও মনে হচ্ছে আপনি ফাইলের একটি তালিকা থেকে পড়ার জন্য কোনও আদেশ চেয়েছিলেন এবং সেগুলি একটি নির্দিষ্ট ডিরেক্টরিতে অনুলিপি করছেন। যদি এটি হয় তবে আমাকে জানান এবং আমি আমার উত্তরটি সম্পাদনা করব।
অজগর দিয়ে নকল নিয়ে কাজ করছে with
তাই আমি একটি অজগর স্ক্রিপ্ট লিখেছিলাম যে আমার বিশ্বাস কাজটি করা উচিত। তবে, আমি পাই না যে আপনি অজগরটিতে কতটা দক্ষ, আপনি কীভাবে পারদর্শী (তাই যদি আপনি কিছুটা পারদর্শী হন) তবে আমি কীভাবে এই স্ক্রিপ্টটি সর্বোত্তমভাবে ব্যবহার করতে পারি তা ব্যাখ্যা করার চেষ্টা করব এবং দয়া করে এটি সম্পর্কে যতগুলি প্রশ্ন জিজ্ঞাসা করুন দয়া করে।
import os,sys,shutil
### copies a list of files from source. handles duplicates.
def rename(file_name, dst, num=1):
#splits file name to add number distinction
(file_prefix, exstension) = os.path.splitext(file_name)
renamed = "%s(%d)%s" % (file_prefix,num,exstension)
#checks if renamed file exists. Renames file if it does exist.
if os.path.exists(dst + renamed):
return rename(file_name, dst, num + 1)
else:
return renamed
def copy_files(src,dst,file_list):
for files in file_list:
src_file_path = src + files
dst_file_path = dst + files
if os.path.exists(dst_file_path):
new_file_name = rename(files, dst)
dst_file_path = dst + new_file_name
print "Copying: " + dst_file_path
try:
shutil.copyfile(src_file_path,dst_file_path)
except IOError:
print src_file_path + " does not exist"
raw_input("Please, press enter to continue.")
def read_file(file_name):
f = open(file_name)
#reads each line of file (f), strips out extra whitespace and
#returns list with each line of the file being an element of the list
content = [x.strip() for x in f.readlines()]
f.close()
return content
src = sys.argv[1]
dst = sys.argv[2]
file_with_list = sys.argv[3]
copy_files(src,dst,read_file(file_with_list))
এই স্ক্রিপ্টটি ব্যবহার করা তুলনামূলকভাবে সহজ হওয়া উচিত। প্রথমে উপরের কোডটি প্রোগ্রামের জিডিতে (উবুন্টুতে প্রাক ইনস্টল থাকা উচিত) বা অন্য কোনও পাঠ্য সম্পাদকে অনুলিপি করুন।
এটি সম্পূর্ণ হওয়ার পরে ফাইলটিকে আপনার হোম ডিরেক্টরিতে মুভ.পি হিসাবে সংরক্ষণ করুন (এটি কোনও ডিরেক্টরি হতে পারে তবে নির্দেশের স্বাচ্ছন্দ্যের জন্য কেবলমাত্র হোম ডিরেক্টরি ব্যবহার করতে দেয়) বা ফাইলটি আপনার প্যাথের মধ্যে থাকা ডিরেক্টরিটি যুক্ত করুন। তারপরে cd
টার্মিনাল থেকে আপনার হোম ডিরেক্টরিতে (বা যে কোনও ডিরেক্টরি আপনি মুভ.পাই-তে সংরক্ষণ করেছেন) এ লিখে নিম্নলিখিত কমান্ডটি টাইপ করুন:
python move.py /path/to/src/ /path/to/dst/ file.txt
এটি উত্স ডিরেক্টরি থেকে গন্তব্য ডিরেক্টরিতে তালিকাভুক্ত সমস্ত ফাইলের অনুলিপি পিক (1) .jpg, pic (2) .jpg এবং এই জাতীয় ফর্ম্যাট গ্রহণ করে অনুলিপি করা উচিত।
file.txt এমন একটি ফাইল হওয়া উচিত যা আপনার নিজের পৃথক লাইনে প্রতিটি এন্ট্রি সহ অনুলিপি করতে চান এমন সমস্ত চিত্রের তালিকা করে।
এই স্ক্রিপ্টটি উত্স ডিরেক্টরিটিকে কোনওভাবেই প্রভাবিত করা উচিত নয়, তবে কেবল উত্স এবং গন্তব্য ডিরেক্টরিতে সঠিক পাথগুলি প্রবেশ করানো নিশ্চিত করে নিন এবং সবচেয়ে খারাপটি ঘটতে পারে আপনি হ'ল ফাইলগুলি ভুল ডিরেক্টরিতে অনুলিপি করছেন।
নোট
- এই স্ক্রিপ্টটি ধরে নিয়েছে যে সমস্ত আসল চিত্র একই ডিরেক্টরিতে রয়েছে। আপনি যদি এটি সাব ডিরেক্টরিগুলিও পরীক্ষা করতে চান তবে স্ক্রিপ্টটি পরিবর্তন করা দরকার।
- আপনি যদি দুর্ঘটনাক্রমে কোনও ফাইলের নাম ভুল টাইপ করেন তবে স্ক্রিপ্টটি
"ফাইলটির অস্তিত্ব নেই" ত্রুটিটি ছুঁড়ে দেয় এবং আপনাকে "এন্টার টিপুন" চালিয়ে যাওয়ার অনুরোধ জানায় এবং স্ক্রিপ্টটি বাকী তালিকার অনুলিপিটি চালিয়ে যেতে থাকবে।
/
উত্স
ডিরেক্টরি এবং গন্তব্য ডিরেক্টরিতে পাথ উভয় পথ অনুসরণ করবেন না । অন্যথায় স্ক্রিপ্টটি আপনাকে আবার ত্রুটি করবে।
cp -rp /copying/from/{folder1/,folder2/,folder3/} path/to/folder
কোথায়p
।