সুচিপত্র:

আপনার কম্পিউটার থেকে সেই অবাঞ্ছিত আইটিউনস গানগুলি মুছুন: 10 টি ধাপ
আপনার কম্পিউটার থেকে সেই অবাঞ্ছিত আইটিউনস গানগুলি মুছুন: 10 টি ধাপ

ভিডিও: আপনার কম্পিউটার থেকে সেই অবাঞ্ছিত আইটিউনস গানগুলি মুছুন: 10 টি ধাপ

ভিডিও: আপনার কম্পিউটার থেকে সেই অবাঞ্ছিত আইটিউনস গানগুলি মুছুন: 10 টি ধাপ
ভিডিও: যে সেটিং গুলো চালু করলে আপনার কম্পিউটার সেইফ থাকবে - Windows Security Settings 2024, জুলাই
Anonim
আপনার কম্পিউটার থেকে সেই অবাঞ্ছিত আইটিউনস গানগুলি মুছুন
আপনার কম্পিউটার থেকে সেই অবাঞ্ছিত আইটিউনস গানগুলি মুছুন

আরে মহিলা এবং ভদ্রলোক, এটি আমার প্রথম কোডিং নির্দেশযোগ্য, তাই দয়া করে, মন্তব্য করার সময়, আপনার বন্দুকগুলি বাড়িতে রেখে দিন (ছুরিগুলি গ্রহণযোগ্য, তবে)। এমপি 3 প্লেয়ারের আবির্ভাবের সাথে, মানুষের পক্ষে অভূতপূর্ব পরিমাণ বহন করা সম্ভব হয়েছে তাদের পকেটে তাদের সঙ্গে সঙ্গীত। 5, 10, এমনকি 15 হাজার গান (এবং কিছু লোক, এমনকি আরও) সংগ্রহ আছে এমন লোকের কথা শোনা অস্বাভাবিক নয়। এমপি 3 প্লেয়ারের মধ্যে, অ্যাপলের আইপড এবং এটি চালানোর সফটওয়্যার আইটিউনস এর চেয়ে বেশি জনপ্রিয় নয়।এমন বড় মিউজিক লাইব্রেরিগুলির সাথে, তবে এমন গানগুলি থেকে মুক্তি পাওয়া কিছুটা ক্লান্তিকর হয়ে উঠতে পারে যা কেবল ভাল বা আকর্ষণীয় নয় তুমি আর আইটিউনসে আপনার সংগীত সংগ্রহের মাধ্যমে ট্র্যাকের মাধ্যমে ট্র্যাক করতে এবং আপনার পছন্দ না হওয়া গানগুলি থেকে মুক্তি পেতে অনেক সময় লাগতে পারে। এই নির্দেশনাটি এখানে আসে। আমার ভাল বন্ধু, পার্লের কিছু সহায়তার সাথে এটি কেবলমাত্র সাধারণ ভয়ঙ্কর। এই নির্দেশযোগ্য পুনরাবৃত্তি করার চেষ্টা করার সময় পার্লের একটি ভাল মৌলিক জ্ঞান অত্যন্ত সহায়ক, যদিও প্রয়োজন নেই (আপনি অবশ্যই সমাপ্ত কোড পণ্য নিতে পারেন এবং কপি/পেস্ট করতে পারেন এটি এবং এটি ঠিক কাজ করবে)। পার্লের প্রতি আগ্রহীদের জন্য, আমি ও'রিলি থেকে "লার্নিং পার্ল" বইটি অত্যন্ত সুপারিশ করি, এটি একটি ভাল পড়া এবং পার্লের সেরা লিখিত বইগুলির মধ্যে একটি আমি পড়ার সুযোগ পেয়েছি। গুরুত্বপূর্ণ: যদিও এখানে উপস্থাপিত পদ্ধতিগুলি কাজ করবে যদি সঠিকভাবে সম্পন্ন করা হয়, আমি যদি কোন মূর্খতা করি এবং আপনার মূল্যবান গান মুছে ফেলি তবে আমি কোন দায়িত্ব গ্রহণ করতে পারব না। অনুগ্রহ করে নিচের মত একটি স্ক্রিপ্ট লিখতে বা চালানোর চেষ্টা করার আগে আপনার মিউজিক ফাইলগুলিকে ব্যাক আপ করার বিষয়ে দৃ়ভাবে বিবেচনা করুন। শুধু সতর্কতার দিক দিয়ে ভুল করুন যাতে আপনি না থাকলে আমাদের কোন অনুভূতি আঘাত না পায়, ধন্যবাদ। সতর্কতা পড়ুন? (হ্যাঁ, এমনকি আপনি, যে ব্যক্তি সতর্কতাটি পড়েননি) দুর্দান্ত! চলুন শুরু করা যাক:-) আপডেট: মনে হচ্ছে কিছু পার্ল স্ক্রিপ্টর আইটিউনস স্ক্রিপ্ট লিখতে কঠোর পরিশ্রম করেছে। আইটিউনস-সম্পর্কিত স্ক্রিপ্টগুলির জন্য, টেরিডনের স্ক্রিপ্টগুলি দেখুন।

ধাপ 1: শুরু করা

শুরু হচ্ছে
শুরু হচ্ছে

সবকিছুর মতো, এই স্ক্রিপ্টটি চালানোর আগে একটু প্রস্তুতি নেওয়া দরকার। সুতরাং, আইটিউনস থেকে গানগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলার জন্য আপনার প্রয়োজন হবে: 1) একটি কম্পিউটার (duh) 2) iTunes (ডবল duh) 3) পার্ল (পার্ল ছাড়া পার্ল স্ক্রিপ্ট চালানো কঠিন, আপনি বলবেন না?) 4) আপনার প্রিয় সম্পাদক (আমি নিজে vi এবং vim এর একজন প্রবক্তা, কিন্তু যেকোনো টেক্সট এডিটরকেই কৌশলটি করতে হবে) 5) একটি আইপড (বাধ্যতামূলক নয়, কিন্তু কারণগুলি যা খুব শীঘ্রই স্পষ্ট করা হবে বলে ভাল লাগছে) পার্ল পাওয়া: অনুসরণ করুন এখানে নির্দেশাবলী, যথেষ্ট সহজ হওয়া উচিত: এটি লক্ষ করা উচিত যে স্ক্রিপ্টটি মূলত ম্যাক ওএস এক্সের জন্য তৈরি করা হয়েছিল, যদিও একই পদ্ধতিগুলি উইন্ডোজের মতো নন-ইউনিক্স ভিত্তিক ওএসগুলিতে কাজ করা উচিত। বিরক্তিকর জন্য সময়, er, "শিক্ষামূলক" নির্দেশমূলক অংশ।

ধাপ 2: বেসিক স্ক্রিপ্ট আইডিয়া

আইটিউনস ব্যবহারকারীদের গান রেট করার অনুমতি দেওয়ার জন্য একটি 5-তারকা রেটিং সিস্টেম অন্তর্ভুক্ত করে। একটি 5-তারকা রেটিং সহ গানগুলি সেরা গান হিসাবে বিবেচিত হয় যখন 1-তারকা রেটিং সহ গানগুলি কিছু খারাপ গান বলে মনে করা হয়। আমাদের উদ্দেশ্যগুলির জন্য, আমরা ধরে নেব যে কোন গান যার রেটিং (ওরফে 0 স্টার) এর অভাব রয়েছে তা এমন একটি যা ব্যবহারকারীর এখনও রেটিং করার সুযোগ হয়নি। ব্যক্তিগতভাবে, গানগুলি রেটিং করার সময়, যদি একটি গানের 1-তারকা রেটিং থাকে, আমি এটা বোধহয় যথেষ্ট খারাপ যে গানটি যে মূল্যবান হার্ড ড্রাইভের জায়গা নেয় তার যোগ্য নয়। অতএব, পার্ল স্ক্রিপ্ট যা আমি আপনাকে এই নির্দেশনায় উপস্থাপন করব তা আইটিউনস লাইব্রেরির মাধ্যমে বিশ্লেষণ করবে এবং 1-তারকা রেটিং নির্ধারিত যে কোনও ট্র্যাক মুছে দেবে। একটি আইপড ব্যবহার করে। এইভাবে, আপনি চলার সময় গানগুলিকে কেবল রেটিং দিয়ে মুছে ফেলার জন্য নির্বাচন করতে পারেন, এবং আপনি যখন আপনার আইপডটি পরে আপনার কম্পিউটারে সিঙ্ক করবেন তখন সেগুলি স্বয়ংক্রিয়ভাবে মুছে যাবে (যদি আপনি স্বয়ংক্রিয়ভাবে আপনার আইপড আপনার কম্পিউটারে সিঙ্ক করেন) এখন আমরা জানি আমরা করছি, আসুন দেখি কিভাবে আমরা পার্ল স্ক্রিপ্টের জন্য আইটিউনস থেকে গানের তথ্য টানতে যাচ্ছি।

ধাপ 3: এক্সএমএল লাইব্রেরি: আইটিউনসের গোটো গাই

এক্সএমএল লাইব্রেরি: আইটিউনসের গোটো গাই
এক্সএমএল লাইব্রেরি: আইটিউনসের গোটো গাই

তার রেটিং এর উপর ভিত্তি করে কম্পিউটার থেকে একটি গান মুছে ফেলার জন্য, আমাদের 2 টি তথ্য প্রয়োজন: গানের রেটিং এবং গানের অবস্থান। সৌভাগ্যবশত আমাদের জন্য একটি সুবিধাজনক ফাইল আছে যেটি থেকে আমরা আইটিউনস সম্পর্কে আমরা যা চেয়েছি সব তথ্য পেতে পারি: আই টিউনস মিউজিক লাইব্রেরি এক্সএমএল ফাইল। এক্সএমএল ফাইলটিকে "আইটিউনস মিউজিক লাইব্রেরি.এক্সএমএল" বলা হয় এবং এটি আপনার প্রধান হার্ড ড্রাইভে আপনার সঙ্গীত ডিরেক্টরিতে থাকা উচিত।

এক্সএমএল ফাইল সম্পর্কে: আইটিউনস এক্সএমএল ফাইলটি আইটিউনস দ্বারা রক্ষিত একটি ধরণের ডাটাবেস এবং সর্বদা আপ টু ডেট থাকে। যখন আইটিউনসে একটি পরিবর্তন করা হয়, তখন আইটিউনস এক্সএমএল ফাইলের সংশ্লিষ্ট অংশ এই পরিবর্তনটি নোট করার জন্য সংশোধন করা হয়। আমার আইটিউনস এক্সএমএল ফাইল থেকে একটি নমুনা এন্ট্রি নীচে দেওয়া হয়েছে: 1218 ট্র্যাক আইডি 1218 নেমটেক অন মিআর্টিস্টা-হাগেনর 80 এর কাইন্ড এমপিইজি অডিও ফাইল সাইজ 3682382 মোট সময় 2330138 তারিখ সংশোধিত 2007-09-24T02: 11: 30Z তারিখ যোগ করা হয়েছে 2008-05-28T05: Rate2008-Rate2008 25T01: 26: 58ZRating40 অ্যালবাম রেটিং 40 অ্যালবাম রেটিং কম্পিউটেড পার্সেন্টেন্ট ID9AC5DB9713240B44 ট্র্যাক টাইপফাইল লোকেশন ফাইল: //localhost/Volumes/HD1/iTunes%20Music/A-Ha/Unknown%20AlbeerFoneLeer ফাইনাল অ্যালবাম এক্সএমএল ফাইলটি এইচটিএমএল-স্টাইলের ট্যাগ দ্বারা বেষ্টিত মান নিয়ে গঠিত। স্ক্রিপ্টের উদ্দেশ্যে, আমরা ট্র্যাক আইডি, নাম, শিল্পী, রেটিং এবং তথ্যের অবস্থান বিটগুলিতে আগ্রহী হব। যদি আপনি এক্সএমএল ফাইলটি দেখছেন, আপনি উপরে থেকে লক্ষ্য করতে পারেন যে এই গানটির 40 এর "রেটিং" আছে। আইটিউনস প্রতিটি গানকে 0 থেকে 100 পর্যন্ত একটি পূর্ণসংখ্যা নির্ধারণ করে, প্রতি 20 পয়েন্ট রেটিংয়ের জন্য একটি অতিরিক্ত তারকা। সুতরাং, 20 এর রেটিং 1 স্টার রেটিং এর সাথে মিলে যায়, 40 এর রেটিং একটি 2-স্টার রেটিং, এবং তাই 100 এর সাথে 5-স্টার রেটিং। সুতরাং এখন আমরা XML ফাইল সম্পর্কে জানি, আসুন স্ক্রিপ্টিং শুরু করি

ধাপ 4: আপনার বন্ধু হ্যাশ (এমনকি যদি আপনি আমস্টারডামে না থাকেন)

আপনার বন্ধু হ্যাশ (এমনকি যদি আপনি আমস্টারডামে না থাকেন)
আপনার বন্ধু হ্যাশ (এমনকি যদি আপনি আমস্টারডামে না থাকেন)

আমরা ফাইলগুলি মুছে ফেলার আগে, আমাদের একটি কার্যকরী ডাটাবেস দরকার যা গানের সমস্ত তথ্য একসাথে সম্পর্কিত করে। যদিও আরও অত্যাধুনিক ডেটা স্ট্রাকচার, যেমন হ্যাশের একটি অ্যারে বা হ্যাশের হ্যাশ, ব্যবহার করা যেতে পারে, এই স্ক্রিপ্টটি হ্যাশের একটি সাধারণ তালিকা ব্যবহারের যোগ্যতার জন্য যথেষ্ট সহজ। স্ট্রিং দ্বারা সূচী করা হয়, অথবা কী/মান জোড়াগুলির একটি জটপাল ভর। কেউ একটি হ্যাশকে একটি বড় ব্যারেল হিসাবে মনে করতে পারে যার মধ্যে জিনিসগুলি (মান) রয়েছে এবং রূপক ব্যারেলের সবকিছুতে একটি ট্যাগ (কী) সংযুক্ত থাকে। আপনি ব্যারেলের যেকোনো আইটেমকে কেবল তার ট্যাগ খুঁজে বের করতে পারেন। হ্যাশের উপর আরও তথ্যের জন্য, নিম্নলিখিত লিঙ্কটি কাজে লাগতে পারে: https://www.tutorialspoint.com/perl/perl_hashes.htm আমরা তথ্য ব্যবহার করতে পারি যে আইটিউনস এক্সএমএল ফাইলের প্রতিটি গানকে ট্র্যাক রাখার জন্য একটি অনন্য ট্র্যাক আইডি দেওয়া হয় গান. এই কারণে, ট্র্যাকআইডি হ্যাশের জন্য একটি আদর্শ কী তৈরি করে। অতএব, আমরা গানের শিরোনাম, শিল্পী, রেটিং এবং অবস্থানের জন্য 4 টি হ্যাশ সেট আপ করতে পারি। একবার এগুলি প্রতিষ্ঠিত হয়ে গেলে, আমরা ফাইলের মাধ্যমে স্ক্যান করতে পারি এবং কিছু সাধারণ রেগুলার এক্সপ্রেশন ব্যবহার করে আমাদের হ্যাশ ডাটাবেস পূরণ করতে পারি, যা পরবর্তীতে দেখানো হবে।

ধাপ 5: নিয়মিত অভিব্যক্তির একটি (খুব) সংক্ষিপ্ত পাঠ

এক্সএমএল ফাইল থেকে আমাদের হ্যাশ এন্ট্রিগুলি দখল করার জন্য, এবং অনুসন্ধানের একটু সময় বাঁচানোর জন্য, আমরা পার্লের আরও শক্তিশালী বৈশিষ্ট্যগুলির একটির সাহায্যে আহ্বান করতে চাই: নিয়মিত অভিব্যক্তি। আমি রেগুলার এক্সপ্রেশন নিয়ে খুব সংক্ষিপ্ত পাঠ করবো, কিন্তু আপনারা যারা বিস্তারিত ব্যাখ্যা চান, তাদের জন্য অনলাইনে অনেক ভালো রেগুলার এক্সপ্রেশন টিউটোরিয়াল আছে। একটি ভালো রেগুলার এক্সপ্রেশন টিউটোরিয়ালের জন্য https://perldoc.perl.org/perlretut.html দেখুন। সংক্ষেপে, রেগুলার এক্সপ্রেশন আমাদের একটি স্ট্রিং দিয়ে যেতে, একটি স্ট্রিংকে অন্য স্ট্রিং দিয়ে প্রতিস্থাপন করার জন্য, পরে ব্যবহারের জন্য একটি স্ট্রিং। রেগুলার এক্সপ্রেশন 2 ফাংশন প্রদান করে, মিলে যাওয়া (m //) এবং প্রতিস্থাপন (গুলি //) অপারেটর, যা এই প্রকল্পের জন্য ব্যবহার করা হবে। একটি অ্যাসাইনমেন্ট প্রসঙ্গে এই ফাংশনগুলির মধ্যে কোনটি ব্যবহার করতে, আমরা পার্লের বাইন্ডিং অপারেটর (= ~) ব্যবহার করব, যা পছন্দের একটি স্ট্রিং ভেরিয়েবলের সাথে একটি প্যাটার্ন বাঁধতে ব্যবহৃত হয়।

$ মন্তব্য = ~ /পারডিউসার /; #মন্তব্য সত্য হলে যদি $ মন্তব্য স্ট্রিংয়ে "পার্ডিউসার" শব্দ/[a-z]/[A-Z]/; #সমস্ত ছোট হাতের অক্ষর স্ট্রিংয়ে নিন এবং তাদের $ _ স্ট্রিংয়ে বড় করুনরেগুলার এক্সপ্রেশন এর একটি দ্বিতীয় দরকারী বৈশিষ্ট্য হল মেমরি ভেরিয়েবল। রেগুলার এক্সপ্রেশনে, আপনি নির্দিষ্ট আইটেমগুলিকে বন্ধনীতে রাখতে পারেন, এবং তারপর বিশেষ প্যাটার্ন ম্যাচ মেমরি ভেরিয়েবল $ 1, $ 2, ইত্যাদি ব্যবহার করতে পারেন যা পরে এই অংশগুলির সাথে মিলে যাওয়া স্ট্রিংগুলির অংশগুলি অ্যাক্সেস করতে পারে।

/(নির্দেশযোগ্য) রোবট/; #"Instructables Robot" শব্দটির সাথে যেকোনো লাইন মিলিয়ে নিন $ ওয়েবসাইট = $ 1; প্যারেন্সের প্রথম সেটে থাকা সফল প্যাটার্ন মিলের ফলাফল সংরক্ষণ করুনঅবশেষে, নিয়মিত অভিব্যক্তিতে, কিছু অক্ষর রয়েছে যা একটি বিশেষ উদ্দেশ্যে কাজ করে। এগুলি হল ব্যাকস্ল্যাশ পালিয়ে যাওয়া (যা সবই সি প্রোগ্রামারদের কাছে পরিচিত হওয়া উচিত), ক্যারেক্টার ক্লাস এবং মেটা চরিত্র। উদাহরণস্বরূপ, যে কোনও একক অক্ষরের সাথে মিলিত হওয়ার জন্য যার উভয় পাশে একটি ট্যাব রয়েছে, আমরা বলতে পারি

/\ t [a-zA-Z] t/Square বর্গাকার বন্ধনীগুলি রেগুলার এক্সপ্রেশনে ব্যবহৃত হয় একটি অক্ষর শ্রেণী নির্ধারণ করতে। তবে ধরুন, আমরা লাইনের বর্গাকার বন্ধনীতে লেখা পাঠ্য খুঁজে পেতে চেয়েছিলাম। নীচে দেখানো হয়েছে, আমরা এটিকে ঠিক যেমন লিখতে পারিনি

/

/

ধাপ 6: আইটিউনস স্ক্রিপ্টে রেগুলার এক্সপ্রেশন প্রয়োগ করা

আইটিউনস স্ক্রিপ্টে রেগুলার এক্সপ্রেশন প্রয়োগ করা
আইটিউনস স্ক্রিপ্টে রেগুলার এক্সপ্রেশন প্রয়োগ করা

এখন আমরা আশা করছি যে নিয়মিত অভিব্যক্তিগুলিকে শক্তিশালী করার মৌলিক অন্তর্নিহিত ধারণার উপর কিছু ধারণা আছে, এটি আইটিউনস স্ক্রিপ্টে এগুলি প্রয়োগ করার সময়। অতএব, আমরা এই সত্যের সুবিধা নেব যে m // অপারেটর আপনাকে কোডে যা খুশি ডিলিমিটার বেছে নিতে দিন (আমরা বর্গাকার বন্ধনী ব্যবহার করব, যদিও অন্যান্য সীমাবদ্ধতা অবশ্যই কাজ করবে) প্রথমত, আমাদের কেবল একটি অংশ পড়তে হবে সম্পূর্ণ আইটিউনস এক্সএমএল ফাইল। ফাইলের অংশগুলি যেমন প্লেলিস্ট ইত্যাদি তথ্য ধারণ করে, প্রয়োজন নেই। প্লেলিস্ট সেকশনের প্রথম লাইন, যা গানের তথ্যের পরে আসে, নিম্নরূপ দেখায়: প্লেলিস্ট অতএব, কিছুক্ষণের লুপে, আমরা একটি বিবৃতিতে যোগ করতে পারি যা ফাইল পড়ার শেষে ঝাঁপ দেয় যদি সেই লাইনটি সম্মুখীন হয়।

while () {#loop_instructions_here last if ($ _ = ~ m [playlists])}}পরবর্তী, হ্যাশ আইডি তৈরির জন্য, আমরা আমাদের ডাটাবেস হ্যাশ তৈরির জন্য একটি if-elsif গাছ ব্যবহার করতে পারি, মেমরি ম্যাচ ভেরিয়েবলগুলি ব্যবহার করে যা আমরা আগের ধাপে হ্যাশগুলিতে মান সংরক্ষণ করতে শিখেছি

যদি ($ _ = ~ মি [(ডি+)]) {$ আইডি = $ 1; } elsif ($ _ = ~ m [রেটিং (d+)]) {$ rate_hash {$ id} = $ 1; } elsif ($ _ = ~ m [Name (।+)]) {$ name_hash {$ id} = $ 1; } elsif ($ _ = ~ m [শিল্পী (।+)]) {$ art_hash {$ id} = $ 1; } elsif ($ _ = ~ m [Locationfile: // localhost (।*)]) {$ loc_hash {$ id} = $ 1; }এখন যেহেতু আমরা আমাদের হ্যাশ ডাটাবেসের ভিত্তি তৈরি করেছি, আমরা 1-স্টার ফাইলগুলি সনাক্তকরণ এবং অপসারণকে কভার করব, তাই পরবর্তী ধাপে!

ধাপ 7: 1-স্টার ট্র্যাকগুলি সনাক্ত এবং মুছে ফেলা

1-স্টার ট্র্যাকগুলি সনাক্ত এবং মুছে ফেলা
1-স্টার ট্র্যাকগুলি সনাক্ত এবং মুছে ফেলা

এখন যেহেতু আমাদের ডাটাবেস সেট আপ আছে, এখন সময় এসেছে ১-স্টার ট্র্যাক খোঁজার, যাতে আমরা সেগুলো মুছে ফেলতে পারি। পার্ল একটি উপকারী লুপিং কনস্ট্রাক্ট প্রদান করে যাকে বলা হয় ফোরাচ লুপ যা আমাদের হ্যাশের সমস্ত কীগুলির উপর পুনরাবৃত্তি করতে ব্যবহার করা যেতে পারে। এটি লক্ষ করা উচিত যে আপনার আইটিউনস লাইব্রেরির প্রতিটি ট্র্যাক রেটিং হ্যাশে প্রবেশ করবে না। এর কারণ হল যে গানগুলির রেটিং নেই তাদের আইটিউনস এক্সএমএল ফাইলে ট্র্যাক রেটিং লাইন দেওয়া হয়নি। অতএব, হ্যাশের মাধ্যমে লুপ করার সময়, আমরা নিম্নলিখিত নির্মাণটি ব্যবহার করতে চাই:

foreach $ id (সাজানোর কী %rate_hash) { #… এখানে লুপিং কোড }োকান}তারপরে, এটি নিম্নলিখিত বিবৃতিটি ব্যবহার করার মতোই সহজ

$ loc_hash {$ id} আনলিঙ্ক করুন যদি $ rate_hash {$ id} == 20;উপরের নমুনা কোডে ব্যবহৃত আনলিঙ্ক ফাংশন হল পার্লের ফাইল মুছে ফেলার পদ্ধতি। আপনি আপনার অপারেটিং সিস্টেমের ডিলিট ফাংশনে একটি সিস্টেম কল ব্যবহার করার জন্য প্রলুব্ধ হতে পারেন, কিন্তু বহনযোগ্যতার কারণে আমার লেখা কোডটি সিস্টেম কল ব্যবহার করে না এখন আমাদের কোডের মৌলিক কাঠামো রয়েছে। নিম্নলিখিত ধাপে, আমরা কোডে কিছু পরিমার্জন করব যাতে আপনি 1-তারাগুলি থেকে বিরক্ত হওয়ার জন্য একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত, কার্যকরী স্ক্রিপ্ট পেতে পারেন।

ধাপ 8: ইউআরআই পালিয়ে যায় এবং কীভাবে তাদের কাছাকাছি যেতে হয়

যদি আপনি স্ক্রিপ্টটি যেমন চালানোর চেষ্টা করেন, আপনি আপনার অপারেটিং সিস্টেম থেকে অসংখ্য ত্রুটির মধ্যে পড়বেন এবং যদি আপনি যে ফাইল পাথগুলি মুছে ফেলার চেষ্টা করছেন তার দিকে তাকান, আপনি এমন পথগুলিতে অবাঞ্ছিত অক্ষরগুলি খুঁজে পেতে পারেন যা অনাকাঙ্ক্ষিত। এই পাথগুলোতে URI পালানোর অক্ষর আছে। এইচটিএমএল এবং এক্সএমএল -এ, ইউআরআই এসকেপ অক্ষর (ওরফে ইউআরআই এসকেপস) হল বিশেষ মেটাচরিত্র যা সেই চরিত্রের আক্ষরিক দৃষ্টান্ত অনুসন্ধান করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি একটি এক্সএমএল অক্ষর স্ট্রিংয়ে একটি সাধারণ হোয়াইটস্পেস দেখতে পাবেন না। তবে, আপনি একটি সাধারণ হোয়াইটস্পেসের এক্সএমএল উপস্থাপনা দেখতে পাবেন, %20। (নিশ্চয়ই আপনি আপনার ব্রাউজারে URL বারে এগুলো দেখেছেন এবং আশ্চর্য হয়েছেন যে সেগুলো কি ছিল। আচ্ছা, এখন আপনি জানেন) একটি URI অব্যাহতিতে একটি % চিহ্ন থাকে যার পরে একটি 2-অঙ্কের হেক্সাডেসিমাল কোড থাকে যা চরিত্রের ASCII মানকে প্রতিনিধিত্ব করে। এই সময়ে বিন্দু, আপনি আপনার সম্ভাব্য প্রতিটি মেটাচ্যারেক্টারকে প্রতিস্থাপন করতে অবস্থান হ্যাশে প্রতিস্থাপনের একটি সম্পূর্ণ গুচ্ছ লিখতে পারেন (যেমন $ loc_hash {$ id} = ~ s/%20//; এবং তাই)। সৌভাগ্যবশত, যদিও, পার্ল এই জিনিসগুলির যত্ন নেওয়ার জন্য একটি ভাল উপায় প্রদান করে। পার্ল URI:: Escape নামে একটি মডিউল নিয়ে আসে, যার একটি অন্তর্নির্মিত ফাংশন রয়েছে, uri_unescape, যা আমাদের জন্য URI পালিয়ে যাওয়ার কাজটি করবে । মডিউলটি ব্যবহার করতে, আপনার কোডের শীর্ষে নিচের লাইনটি যুক্ত করুন:

URI:: Escape ব্যবহার করুন;এখন, আমরা এক্সএমএল ফাইল লুপে $ loc_hash {$ id} অ্যারে বরাদ্দ করার পর, আমরা নিম্নলিখিত লাইন যোগ করতে পারি

uri_unescape ($ loc_hash {$ id});উপরের লাইনটি স্বয়ংক্রিয়ভাবে যেকোনো ইউআরআই পালানোর অক্ষরকে ইলিমিনেট করে। একটি অতিরিক্ত বোনাস হিসাবে, এটি কিছু আন্তর্জাতিক অক্ষরও অনুবাদ করে। আমি কয়েকটি ফাইলপথ দিয়ে স্ক্রিপ্টটি চালালাম যার মধ্যে জাপানি কোঞ্জি ছিল, এবং uri_unescape ফাংশন সেই অক্ষরের XML ফরম্যাটগুলিকে তাদের মূল অক্ষরে অনুবাদ করেছিল যাতে লিঙ্কটি সফলভাবে ফাইলটি মুছে দিতে পারে। । যেসব কারণে আমি পুরোপুরি বুঝতে পারছি না, আইটিউনস তার স্ট্রিংগুলির মধ্যে & যদি কেউ জানে কেন এটি হয়, দয়া করে আমাকে জানান। ইতিমধ্যে, আমরা uri_unescape লাইনের নীচের লাইন যোগ করে এই সমস্যাটি উপস্থাপন করছি

$ loc_hash {$ id} = ~ s/&#/&/;এখন স্ক্রিপ্টে অদ্ভুত অক্ষরের ফাইলপাথ থাকবে এবং আনলিংক ফাংশনটি তাদের সঠিক স্থানে ফাইলগুলি মুছে ফেলার জন্য সক্ষম হবে। ঠিক আছে, যদি আপনি ম্যাক ওএসএক্স ব্যবহার করেন (এবং সম্ভবত অন্যান্য ইউনিক্স-ভিত্তিক ওএসগুলিও)। অন্যান্য অপারেটিং সিস্টেমে (যেমন, উইন্ডোজ) স্ক্রিপ্টটি সামঞ্জস্যপূর্ণ করার জন্য পড়ুন।

ধাপ 9: উইন্ডোজে স্ক্রিপ্ট সামঞ্জস্য যোগ করা

উইন্ডোজে স্ক্রিপ্ট সামঞ্জস্য যোগ করা
উইন্ডোজে স্ক্রিপ্ট সামঞ্জস্য যোগ করা

স্ক্রিপ্ট, যতদূর লেখা হয়েছে, কার্যকরভাবে ইউনিক্স-ভিত্তিক অপারেটিং সিস্টেমের ট্র্যাকগুলি সরিয়ে দেয়। এটি উইন্ডোজ এ কাজ করার জন্য, একটি ছোট সংযোজন প্রয়োজন। অতএব, সমস্ত পথের নাম একটি ভলিউম দিয়ে শুরু হয় (C: বা E: অথবা অন্য কোন অক্ষর যা আপনি ভাবতে পারেন, সেই বিষয়ে) রুট ডিরেক্টরির বিপরীতে (/) সৌভাগ্যক্রমে আমাদের জন্য, পার্লের একটি বিশেষ পরিবর্তনশীল, $হে (এটি একটি মূলধন, শূন্য নয়), যা আমাদের বলে যে আমরা বর্তমানে কোন অপারেটিং সিস্টেম ব্যবহার করছি। সুতরাং, যদি সেই ভেরিয়েবলে সংরক্ষিত মানটিতে "উইন" থাকে, আমরা আমাদের এক্সএমএল লোকেশন ফাইলপথের শীর্ষস্থানীয় স্ল্যাশ অপসারণ করতে চাই। এটি নিম্নলিখিত লাইন কোড দিয়ে করা যেতে পারে (আমরা সফলভাবে এক্সএমএল ফাইল থেকে একটি ট্র্যাকের অবস্থান বিশ্লেষণ করার পরে যোগ করা হয়েছে):

$ loc_hash {$ id} = substr ($ loc_hash {$ id}, 1) যদি $^O = ~ /Win /i;এখন, স্ক্রিপ্ট কাজ করবে কিনা তা OS X বা Windows এ চালানো হবে।

ধাপ 10: সম্পূর্ণ স্ক্রিপ্ট

সম্পূর্ণ স্ক্রিপ্ট
সম্পূর্ণ স্ক্রিপ্ট

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

স্ক্রিপ্টটি ব্যবহার করার জন্য আপনি ফাইলটিকে একটি পার্ল ফাইল (.pl এক্সটেনশন) হিসাবে সংরক্ষণ করতে চান এবং তারপর এটি এক্সিকিউটেবল করতে চান (ইউনিক্সে chmod 751, এটি উইন্ডোজ সিস্টেমের জন্য নিশ্চিত নয়)।

প্রস্তাবিত: