ব্যাশ স্ক্রিপ্টে ফাইলের আকার কীভাবে পাবেন

How Get Size File Bash Script



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

এই টিউটোরিয়ালটি নির্দিষ্ট পদ্ধতিতে বাইট, কিলোবাইট, মেগাবাইট, বা গিগাবাইটের মতো ফাইলের আকার পেতে আপনি ব্যাশ স্ক্রিপ্টে ব্যবহার করতে পারেন এমন দ্রুত পদ্ধতি নিয়ে আলোচনা করবে।







পদ্ধতি 1: ls কমান্ড

প্রথম পদ্ধতি হল ভাল পুরানো ls কমান্ড ব্যবহার করা। অন্যান্য কমান্ডের সাথে যুক্ত হলে, ls কমান্ড একটি ফাইলের আকার ধরতে পারে।



স্ক্রিপ্টটি বাস্তবায়নের জন্য, আমাদের ফাইলের সম্পূর্ণ পথ প্রয়োজন, ls দিয়ে ফাইলের তথ্য তালিকাভুক্ত করুন এবং awk এর মতো একটি কমান্ড ব্যবহার করে আকার ধরুন।



এর জন্য একটি নমুনা স্ক্রিপ্ট এই মত হবে:





#!/বিন/ব্যাশ
বের করে দিল 'ফাইলের সম্পূর্ণ পথ লিখুন।'
পড়ুন ফাইল
ফাইলের আকার= $(ls -এলএইচ $ ফাইল | awk '{মুদ্রণ $ 5}')
বের করে দিল '$ ফাইলএর একটি আকার আছে$ ফাইল সাইজ'

উপরের স্ক্রিপ্ট তুলনামূলকভাবে সহজ। ইকো এবং রিড কমান্ড ব্যবহার করে, আমরা ফাইলের সম্পূর্ণ পথের নাম পাই।

পরবর্তী, আমরা ls -lh কমান্ড ব্যবহার করে সমস্ত ডিরেক্টরি এবং আকারকে মানব -পাঠযোগ্য বিন্যাসে তালিকাভুক্ত করি এবং অবশেষে, আউটপুটটি awk তে পাস করি এবং 5 আকারটি ধরুনপরিবর্তনশীল



নিচের চিত্রনাট্যের একটি দৃষ্টান্ত।

chmod +x size.sh
./size.sh

এখানে এর জন্য আউটপুট দেওয়া হল:

sudo ./size.sh
ফাইলের সম্পূর্ণ পথ লিখুন
/etc/passwd
/etc/passwd এর আকার 2.9K

পদ্ধতি 2: wc কমান্ড

আরেকটি পদ্ধতি যা আমরা ব্যাশ স্ক্রিপ্টে একটি ফাইলের আকার ধরতে ব্যবহার করতে পারি তা হল wc কমান্ড। Wc কমান্ড শব্দের সংখ্যা, আকার এবং ফাইলের আকার বাইটে প্রদান করে।

এখন:

আপনি জানেন যে, বাইটে ফাইলের আকার পড়া খুব সহজ নয়। এর মোকাবেলা করার জন্য, আমরা একটি সাধারণ মেনু বাস্তবায়ন করতে পারি এবং ব্যবহারকারীর আকারের বিন্যাস যেমন কেবি, এমবি এবং জিবি জিজ্ঞাসা করতে পারি।

নির্বাচিত বিন্যাসের উপর নির্ভর করে, আমরা বাইটগুলিকে বলা বিন্যাসে রূপান্তর করব।

এই ধরনের যুক্তি বাস্তবায়নের জন্য এখানে একটি উদাহরণ স্ক্রিপ্ট:

#!/বিন/ব্যাশ
বের করে দিল 'আকারের বিন্যাস নির্বাচন করুন, সংখ্যাসূচক মান ব্যবহার করুন (1 বাইটের জন্য, 2 কিলোবাইটের জন্য, ইত্যাদি)'
বের করে দিল '''
1. বাইট
2. কিলোবাইটস
3. মেগাবাইটস
4. গিগাবাইট
'
''
বের করে দিল **************************************************** ************************
পড়ুনবিন্যাস

বের করে দিল 'টার্গেট ফাইলের সম্পূর্ণ পথ লিখুন:'
পড়ুন ফাইল
ফাইলের আকার= $(wc -সি $ ফাইল | awk '{মুদ্রণ $ 1}')
যদি [[('$ বিন্যাস'==)]];
তারপর
বের করে দিল '$ ফাইলপ্রায়$ ফাইল সাইজবাইট '
এলিফ [[('$ বিন্যাস'==2)]];
তারপর
প্রায়= $( <<<'স্কেল = 3;$ ফাইল সাইজ/ 1024 ')
বের করে দিল '$ ফাইলআনুমানিক$ kbকেবি '
এলিফ [[('$ বিন্যাস'==3)]];
তারপর
এমবি= $( <<<'স্কেল = 6;$ ফাইল সাইজ/ 1048576 ')
বের করে দিল '$ ফাইলআনুমানিক$ mbএমবি '

এলিফ [[('$ বিন্যাস'==4)]];
তারপর
জিবি= $( <<<'স্কেল = 12;$ ফাইল সাইজ/ 1073741824 ')
বের করে দিল '$ ফাইলআনুমানিক$ gbজিবি '
অন্য
বের করে দিল 'ভুল ফরম্যাট।'
প্রস্থান
থাকা

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

এরপরে, আমরা ব্যবহারকারীকে ফাইল পাথের জন্য অনুরোধ করি এবং এই পরিবর্তনশীলটিকে একটি ফাইলে সংরক্ষণ করি।

পরবর্তী ধাপটি নির্দিষ্ট ফাইলে wc -c -command কে কল করে। যেহেতু wc -c বাইট এবং ফাইলের পাথে ফাইলের সাইজ ফেরত দেয়, তাই আমরা AWK ব্যবহার করি শুধুমাত্র ফাইলের সাইজ ধরতে। আমরা ফাইল সাইজ হিসাবে সাইজে বাইট সংরক্ষণ করি।

পরিশেষে, আমরা একটি সাধারণ যদি বিবৃতিটি প্রয়োগ করি তা পরীক্ষা করার জন্য আকারের বিন্যাস হয় 1 (বাইট), 2 (কিলোবাইট), 3 (মেগাবাইট), 4 (গিগাবাইট)। তারপর আমরা bc কমান্ড ব্যবহার করে ফাইলের সাইজকে নির্দিষ্ট ফরম্যাটে রূপান্তর করি।

বিঃদ্রঃ: আমরা প্রতি মূল্যায়নে দশমিকের সংখ্যা সামঞ্জস্য করতে bc কমান্ডের জন্য একটি বৈচিত্রপূর্ণ স্কেল ব্যবহার করি।

নিচের ছবিটি দেখায় কিভাবে স্ক্রিপ্ট কাজ করে।

অন্য নোট : উপরের স্ক্রিপ্টটি খাঁটি হাড় এবং তাই উল্লেখযোগ্য উন্নতির জন্য উন্মুক্ত। এটির উন্নতি করতে এবং আপনার প্রয়োজন অনুসারে এটি পরিবর্তন করতে বিনা দ্বিধায়।

পদ্ধতি 3: স্ট্যাট কমান্ড ব্যবহার করে

আমরা স্ট্যাট কমান্ড ভুলে যেতে পারি না। স্ট্যাট কমান্ড ব্যবহার করে, আমরা একটি ফাইল বা ফাইল সিস্টেম সম্পর্কে বিস্তারিত তথ্য প্রদর্শন করতে পারি।

স্ট্যাট কমান্ড বাইটের আকারও ফেরত দেয়। বিন্যাস নির্বাচন করতে আপনি উপরের স্ক্রিপ্টে অনুরূপ যুক্তি ব্যবহার করতে পারেন।

এখানে স্ট্যাট কমান্ড ব্যবহার করে একটি সহজ স্ক্রিপ্ট রয়েছে:

#!/বিন/ব্যাশ
বের করে দিল 'ফাইল পাথ লিখুন।'
পড়ুন ফাইল
ফাইলের আকার= $(অবস্থা -সি %গুলি$ ফাইল)
বের করে দিল '$ ফাইলসুনির্দিষ্ট$ ফাইল সাইজবাইট। '

বন্ধ

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