কমান্ড লাইন কার্ল - ফাইলের নামকরণ উদাহরণ.com/used1-10 +.txt => 01.txt থেকে 10.txt


2

ফাইলের নাম আউটপুটটির পরিবর্তনশীল অংশটি একটি নির্দিষ্ট দৈর্ঘ্য হিসাবে সেট করা এবং শূন্যের অতিরিক্ত স্থান পূরণ করা কি সম্ভব?

আমি চাই অন্যান্য জিনিসগুলির জন্য জিনিসগুলি অর্ডার করা হোক, তাই আমি চাই

curl http://example.com/[1-12]/file_name[1-50].kmz -o file_name-#1-#2.kmz' 

দেখতে

file_name-01-01.kmz বা file_name-12-50.kmz

বরং

file_name-1-1.kmz এবং file_name-12-50.kmz

উত্তর:


2

শীর্ষস্থানীয় শূন্যগুলি সহ কেবল ফর্ম্যাটটি প্যাড করুন। সুতরাং আপনার উদাহরণের জন্য কি:

curl http://example.com/[01-12]/file_name[01-50].kmz -o file_name-#1-#2.kmz' 

1
এটি কীভাবে গৃহীত উত্তর? শূন্যগুলির সাথে প্যাডিং একটি ভুল URL এনে দেবে। এছাড়াও, এই স্ট্রিং থেকে একটি উক্তি অনুপস্থিত।
মার্কাস অমলথিয়া ম্যাগনসন

0

অনেক উপায় আছে। আপনি শূন্য-প্যাডযুক্ত ফাইলের নামগুলি তৈরি করতে চালাক উপায়ে বাশ ব্রেস সম্প্রসারণ ব্যবহার করতে পারেন , তবে শীঘ্রই এটি জটিল হয়ে উঠবে। পার্ক prenameইনস্টলের পরে কমপক্ষে ডেবিয়ান ভিত্তিক বিতরণে উপলব্ধ স্ক্রিপ্টটি ব্যবহার করে আপনি ফাইলগুলি ডাউনলোড করার পরে ব্যাচের পুনরায় নামকরণ করা সহজ ।

এই prenameকমান্ডটি শূন্য প্যাডিংটি তিন অঙ্কে করবে (শূন্য প্যাডিং পরিবর্তন করতে অন্য সংখ্যায় {3 change পরিবর্তন করুন। প্রথম এক্সপ্রেশনটিতে দ্বিতীয় স্ল্যাশের পরে> {n-1} জিরো রয়েছে তা নিশ্চিত করুন):

$ ls
file_name-1-1.kmz  file_name-12-112.kmz  file_name-12-50.kmz  file_name-140-88.kmz
$ prename -v 's/([0-9]+)/00$1/g; s/0+([0-9]{3})/$1/g' *
file_name-1-1.kmz renamed as file_name-001-001.kmz
file_name-12-112.kmz renamed as file_name-012-112.kmz
file_name-12-50.kmz renamed as file_name-012-050.kmz
file_name-140-88.kmz renamed as file_name-140-088.kmz

prename -nকোনও পরিবর্তন না করেই প্রথমবারের মতো দৃশ্যপটের নামটি পরীক্ষা করতে সক্ষম হয়ে চালান । চেক man prename

পুনরায় নামকরণের এক্সপ্রেশনটি সমস্ত সংখ্যাকে এন -1 জিরো দিয়ে প্যাড করে কাজ করে, তারপরে সমস্ত সংখ্যায় এন অঙ্ক রাখার জন্য প্রয়োজনীয় যতগুলি শূন্য সরিয়ে দেয়। এটি তথ্য ছাঁটাই করবে না, যা দুর্দান্ত।

ফ্লোট নম্বরগুলি উপরে (যেমন file_name-12.7-112.97.kmz) পরিচালনা করা হয় না তবে এটি দিয়ে সহজেই করা যায়

s/([^\.0-9])([0-9]+)/${1}00$2/g; s/0+([0-9]{3})/$1/g

তবে আরও সাধারণ সংস্করণটি আরও অনির্বচনীয় :-) (এবং এতে বাগের নিজস্ব ভাগ থাকতে পারে; যদি ফ্লোটগুলির প্রয়োজন না হয় তবে পূর্ববর্তী সংস্করণটি ব্যবহার করুন)।

( prenameআসলে renameবেশিরভাগ সিস্টেমে লিঙ্কযুক্ত ))

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