স্ক্রিপ্ট বাশ: এসডি থেকে পিসিতে নতুন চিত্রগুলি অনুলিপি করুন

কখনও কখনও আমাদের পিসিতে পুনরাবৃত্ত কাজগুলি করা প্রয়োজন যা সময়ের সাথে সাথে ক্লান্তিকর হয়ে ওঠে। কিছু কিছু ক্ষেত্রে আমাদের জন্য কাজ করে এমন স্ক্রিপ্টগুলি ব্যবহার করে আমরা আমাদের কাজটি সহজ করতে পারি।

আজ আমি আপনাকে একটি বাশ স্ক্রিপ্টটি দেখানোর জন্য লিখছি যা একটি প্রয়োজনীয়তার সমাধান করেছে: আমার ডিজিটাল ক্যামেরা থেকে এসডি কার্ড থেকে পিসিতে নতুন চিত্রগুলি অনুলিপি করুন।

অবস্থা:

আমার কম্পিউটারে ডাউনলোড করার জন্য আমি যখনই নতুন চিত্র পেয়েছি, আমি নিম্নলিখিতগুলি করতাম:

1. ডিরেক্টরিটি যেখানে আমার উপ-ডিরেক্টরিতে শ্রেণিবদ্ধ আছে তা খুলুন।

২. yy.mm.dd ফর্ম্যাটে বর্তমান তারিখের নাম সহ একটি নতুন উপ-ডিরেক্টরি তৈরি করুন

৩. পূর্ববর্তী সময় তৈরি করা সাব-ডিরেক্টরিতে সরান এবং দেখুন শেষ চিত্রটি কী আছে।

৪. এসডি কার্ড থেকে নতুন তৈরি হওয়া ডিরেক্টরিতে নতুন চিত্রগুলি অনুলিপি করুন।

এটি এক মিনিটের বেশি সময় নেয় না, তবে কেবল কার্ড serোকিয়ে প্রক্রিয়াটি করা সহজ।

আমাকে কার্ডটি ব্যবহার করতে হবে কারণ লিনাক্সের জন্য কোনও ড্রাইভার নেই (যেহেতু সর্বদা ঘটে ...) আমি ইউএসবি-এর মাধ্যমে ক্যামেরা থেকে চিত্রগুলি সরাসরি স্থানান্তর করতে পারি না)

সমাধান:

নিম্নলিখিতগুলি করে এমন একটি বাশ স্ক্রিপ্ট তৈরি করুন:

1. এসডি কার্ড মাউন্ট করা থাকলে শুরুতে যাচাই করুন। অন্যথায় এটি শেষ হয়।

২. ছবিগুলির মূল ডিরেক্টরিতে যান এবং সর্বশেষটি সন্ধান করুন। আপনার নামটি একটি ভেরিয়েবলে সংরক্ষণ করুন।

৩. বর্তমান ডিরেক্টরিটি শেষ ডিরেক্টরিটির সাথে তুলনা করুন, যদি এগুলির মধ্যে পার্থক্য থাকে তবে "yy.mm.dd" ফর্ম্যাটে বর্তমান তারিখের নাম সহ একটি নতুন ডিরেক্টরি তৈরি করুন।

৪. সর্বশেষ ডিরেক্টরিতে যান (নতুন নয়, তবে এটি একটি পুরানো) এবং একটি ভেরিয়েবলে সংরক্ষণ করুন সর্বশেষ ফাইলটির নাম আগেরবার স্থানান্তরিত।

এই পদক্ষেপে অদূর ভবিষ্যতে কার্ডের নতুন ফাইলগুলির সাথে এটি তুলনা করতে সক্ষম হওয়ার জন্য ফাইলটির নাম ফিল্টার করা প্রয়োজন। ফাইলগুলির নিম্নলিখিত ফর্ম্যাট রয়েছে: রচনা_xxxx.ee যেখানে: এক্স = ডিজিট 0 থেকে 9 এবং আইই এক্সটেনশন (জেপিজি, এমওভি)। উদাহরণস্বরূপ: 100_5684.JPG, 100_5699.MOV। ফিল্টার করার পরে, নামটি XXXXXXX অবধি রয়ে গেছে অতএব, উপরের উদাহরণে, আমাদের রয়েছে: 1005684, 1005699।

যেহেতু ডিরেক্টরিতে অন্য ধরণের ফাইল বা পরিবর্তিত নাম থাকতে পারে, তাই ফিল্টারটি ব্যবহৃত হয়।

৫. কার্ডে সরান এবং আগের পয়েন্টের মতো ফাইলগুলি ফিল্টার করুন।

Card. কার্ডে থাকা ফাইলগুলি ভেরিয়েবলের সাথে তুলনা করুন যাতে সর্বশেষ ফাইলটি পূর্ববর্তী সময়ে স্থানান্তরিত হয়েছিল (পয়েন্ট 6) এবং নতুন ফাইলটিকে নতুন নির্মিত ডিরেক্টরিতে ফাইলগুলি অনুলিপি করুন ভেরিয়েবলের চেয়ে বড় (যেহেতু নামগুলি কেবল সংখ্যা)

File. ফাইল ম্যানেজারের সাথে নতুন চিত্রযুক্ত ডিরেক্টরিটি খুলুন।

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

#! / বিন / বাশ ### --- এসডি মাউন্ট হয়েছে কিনা তা যাচাই করুন --- ### এসডি = / মিডিয়া / কোডাক / ডিসিআইএম / 100Z8612 যদি [[-d $ এসডি]] থাকে; তারপরে ### --- ডিরেক্টরী তৈরি করুন --- ### # চিত্র ডিরেক্টরিটি পড়ুন এবং # বর্তমানের তারিখের নাম এবং অন্যটি উপস্থিত না থাকলে 755 এর অনুমতি নিয়ে অন্যটি তৈরি করুন। সিডি ~ / ছবি / কোডাক ULTDIR = `ls -1 | লেজ -n1` # তালিকার শেষ ডিরেক্টরি। তারিখ = `তারিখ +% y।% এম%% # ওয়াইওয়াই.এম.এম.ডিডি ফর্ম্যাটে বর্তমানের তারিখ যদি [" $ লস্টডিয়ার "! =" $ তারিখ "]; তারপরে mkdir -vm 755`date +% y।% m।% d` # বর্তমান তারিখের সাথে ডিরেক্টরি তৈরি করুন ### --- L আলটিডিরের শেষ ফাইলটি দেখুন --- ### সিডি $ আলটিডির আলটিমগ = `এলএস - 1 [0-9] [0-9] [0-9] _ [0-9] [0-9] [0-9] [0-9]। [জেএম] [পিও] [জিভি] | লেজ -n1 | কাটা -c1-3,5-8` # xxx_XXXX.eee .eee = ফাইল এক্সটেনশন (জেপিজি বা এমওভি) নামের শেষ চিত্রটি দেখুন # স্ক্রিপ্টটি সম্পন্ন হওয়ার পরে এটি কাজ করে তা নিশ্চিত করতে: # 100_9999.eee - > 101_0000.ee এবং # CUT তে কোনও ত্রুটি নেই যাতে এটি xXXXXXX ### --- তালিকার সর্বশেষ নির্দেশনায় চলে যান --- ### # বা সাম্প্রতিকভাবে তৈরি করা হয়, যদি # সিডি তৈরি করা হয় তবে শেষ = `ls -1 | লেজ -n1` # আবার যায় কারণ অন্যথায় এটি যদি সিডি / মিডিয়া / কোডাক / ডিসিআইএম / 100Z8612 ### --- এসডি-তে ফাইল ফিল্টার করে --- ### ফিল্টার = `এলএস -1 [0 -9] [0-9] [0-9] _ [0-9] [0-9] [0-9] [0-9]। [জেএম] [পিও] [জিভি] `### - - সর্বশেষে নামটির সাথে নতুন ফাইলগুলি একত্র করুন --- ### আমার জন্য $ ফিল্টার ডো এন = `প্রতিধ্বনি $ I | কাটা -c1-3,5-8` # কাট নাম যদি [["L ULTIMG" -lt "$ N"]]; তারপরে সিপি $ আই ~ / পিকচারস / কোডাক / L উলটিডির ফাই থুনার ~ / পিকচারস / কোডাক / L এলটিডিআর # থুনার দিয়ে নতুন ডিরেক্টরি খুলুন অন্যটি প্রস্থান করুন 0 ফাই প্রস্থান 0

অবশেষে এটির কাজ পেতে, আমি এটিকে মেনুতে এক্সফেসের "অপসারণযোগ্য ড্রাইভ এবং মিডিয়া" অ্যাপ্লিকেশনটিতে যুক্ত করেছি

সেটিংস → এক্সফেস 4 সেটিংস পরিচালক → অপসারণযোগ্য ড্রাইভ এবং মিডিয়া → ক্যামেরা

আমদানি চিত্র বিকল্প ব্যবহার করে। আমি কার্ডটি sertোকানোর সময় একটি ডায়ালগ বক্স জিজ্ঞাসা করে যে আমি ছবিগুলি আমদানি করতে চাই। গ্রহণ করার পরে, স্ক্রিপ্টটি কার্যকর করা হয়।

আচ্ছা ঠিক আছে। পাঠ্যের অগোছালোতার জন্য দুঃখিত, এটি আমার প্রথম পোস্ট এবং আমি সম্পাদনা করার সময় স্ক্রিপ্টটি কীভাবে ট্যাবলেট করতে পারি তা আমি জানি না। আমি আশা করি কারও পক্ষে কমপক্ষে ধারণা পাওয়া এবং এটি প্রতিটি বিশেষ ক্ষেত্রে অভিযোজিত করতে দরকারী।

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

আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।

  1.   পেরক্যাফ_আই 99 তিনি বলেন

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

    গ্রিটিংস !!!

    1.    জোয়াকুইন তিনি বলেন

      হয়ে গেছে, যুক্ত হয়েছে http://paste.desdelinux.net/4737
      ধন্যবাদ!

  2.   vr_rv তিনি বলেন

    ইতিমধ্যে ডিরেক্টরিতে থাকা কোনও ছবি অনুলিপি করার সময় এটি ইঙ্গিত দেয় না যে ইতিমধ্যে একটি রয়েছে এবং আপনাকে এটি প্রতিস্থাপনের বিকল্প দেয় বা অনুলিপি না করে?

    যাইহোক এটি খুব দরকারী, যেহেতু এটি স্বয়ংক্রিয়ভাবে সবকিছু করে

    1.    জোয়াকুইন তিনি বলেন

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

      আজ 10/03/13, আমি 13.03.10/100/4440 নামে একটি ডিরেক্টরি তৈরি করেছি এবং কিছু চিত্র বা ভিডিও (এমওভি) ভিতরে কপি করছি: 100_4441.JPG, 100_4442.JPG, 100_4445.MOV, XNUMX_XNUMX.JPG
      (নিখোঁজ 4443 এবং 4444 ক্যামেরাটি দিয়ে মুছে ফেলা হয়েছে, শেষটি 4445)।

      তারপরে ধরুন আমি 01/04/13 এ স্ক্রিপ্টটি ব্যবহার করেছি এবং কার্ডে নতুন চিত্র রয়েছে। স্ক্রিপ্টটি 13.04.01 নামে একটি ডিরেক্টরি তৈরি করে এবং নতুন চিত্র / ভিডিওগুলির অভ্যন্তরে যার নাম "4445" এর চেয়ে বেশি; কারণ এটি 13.03.10 ডিরেক্টরি পড়ে এবং শেষ চিত্রটি 100_4445.JPG। আমি যদি সেদিন কার্ড থেকে নতুন চিত্র সহ স্ক্রিপ্টটি পুনরায় চালু করি তবে সেগুলি 13.04.01 ডিরেক্টরিতে যুক্ত করা হবে। কিছুই ওভাররাইট করা হয় না।

      আমি আশা করি আমি আমার ধারণাটি কিছুটা পরিষ্কার করেছি have

  3.   মানুটি তিনি বলেন

    আর আপনি কি জানেন না র‌্যাপিড ফটো ডাউনলোডার? আমি মনে করি এটি আরও অনেক কিছু করে।

    1.    জনাব কালো তিনি বলেন

      মুল বক্তব্যটি হ'ল চর্মসার লোকটি নিজেই এটি করেছিল, আমার মতে মজা হত এবং এটি অন্য কারও সেবা করতে পারে

    2.    জোয়াকুইন তিনি বলেন

      ওহে. আমি এটি জানতাম না এবং ইন্টারনেটে আমি যা দেখেছি তা থেকে এটি দুর্দান্ত বলে মনে হচ্ছে, তবে বাস্তবে স্ক্রিপ্টটি আমার যা প্রয়োজন তা পুরোপুরি পূরণ করে; যা কার্ড প্রবেশ করানো এবং সমস্ত ফাইল স্বয়ংক্রিয়ভাবে অনুলিপি করা হয়।

      এটি আমাকে আরও কিছুটা শিখতে সহায়তা করেছিল কারণ স্পষ্টতই এটি প্রথমবার কার্যকর হয়নি; ভুল হয়েছে এবং তাদের কাছ থেকে অনেক কিছু শিখেছে।

      আমি অন্যদের কাছে সমস্যাগুলি সমাধান করার জন্য স্ক্রিপ্টটি দেখানোর জন্য ভাবি নি, আপনি যেগুলির উল্লেখ করেছেন তার মতো অ্যাপ্লিকেশন রয়েছে যা সাধারণ। আমি আপনাকে এটি পড়ার জন্য এবং লুপগুলি ব্যবহারের ক্ষেত্রে নতুন জিনিস তৈরি করার জন্য একটি রেফারেন্স হিসাবে (এই ক্ষেত্রে "জন্য") এবং নিয়মিত এক্সপ্রেশন (স্ক্রিপ্টে "ULTIMG" এবং "ফিল্টার" ভেরিয়েবল) ভাগ করেছি

  4.   কোডল্যাব তিনি বলেন

    এটি দরকারী বলে মনে হচ্ছে, একদিনের প্রয়োজন হলে আমি এটি রাখি। ধন্যবাদ.

    1.    জোয়াকুইন তিনি বলেন

      ধন্যবাদ!

  5.   নামহীন তিনি বলেন

    তবে এর জন্য আমাদের ইতিমধ্যে গ্রিসিঙ্ক রয়েছে

    1.    জোয়াকুইন তিনি বলেন

      হ্যাঁ, তবে আমি মনে করি ব্যাকআপগুলির জন্য আরএসসিএনসি বেশি ব্যবহৃত হয়। আমি এটির দিকে কখনও নজর রাখিনি তবে এটি এমন একটি অ্যাপ্লিকেশন যা আমাদের বিবেচনায় নেওয়া উচিত এবং আমাদের সকলের কাছ থেকে শেখা উচিত।

      আমি জানতাম না যে rsync এর জন্য কোনও গ্রাফিকাল ইন্টারফেস ছিল।

  6.   সর্বশেষ তিনি বলেন

    বাহ, আমি কোডটি খুব আকর্ষণীয়, খুব দরকারী বলে মনে করি। এটা বজায় রাখা. 😀
    আমার প্রয়োজনে এটি রাখব।

    গ্রিটিংস।

    1.    জোয়াকুইন তিনি বলেন

      ধন্যবাদ!.