অনভিজ্ঞদের জন্য, findstr-এর মতো একটি প্যাটার্ন সার্চিং টুল বেকার মনে হতে পারে। কিন্তু সিস্টেম-জেনারেটেড লগ ফাইল বা সैकড়ো লাইনের টেক্সট ধারণকারী কমান্ড লাইন আউটপুটের সাথে কাজ করার সময়, findstr ঠিক সেই টুল যা আপনার প্রয়োজন।
লিনাক্স অপারেটিং সিস্টেমের ব্যবহারকারীরা Grep কমান্ডের অবিশ্বাস্য ইউটিলিটি সম্পর্কে ইতিমধ্যে জানেন, এবং findstr মাইক্রোসফট উইন্ডোজে একই ভূমিকা পালন করে। আপনি এটি অন্যান্য কমান্ডের সাথে পাইপ ব্যবহার করে কম্বাইন করতে পারেন বা সরাসরি চালিয়ে একাধিক টেক্সট ফাইল পার্স করতে পারুন। চলুন findstr কীভাবে কাজ করে সেটি কয়েকটি উদাহরণের সাথে দেখি।
Findstr কমান্ড ব্যবহার করা
বেসিক সিনট্যাক্স সহজ—findstr
findstr SFC example1.txt
এই কমান্ডটি SFC সার্চ স্ট্রিং ধারণকারী সকল লাইন খুঁজে বের করে আউটপুট দেবে। লক্ষ্য করুন যে, ডিফল্টভাবে findstr কেস-সেনসিটিভ, তাই SFC-এর যেকোনো উল্লেখ মিলে যাবে না।
প্যারামিটারসমূহ
আপনি অপশনাল প্যারামিটার অন্তর্ভুক্ত করে findstr কীভাবে কাজ করে সেটি আরও কাস্টমাইজ করতে পারেন। /B বা /I এর মতো সইচগুলো findstr-এর আচরণ পরিবর্তন করে, সার্চের ওপর অতিরিক্ত শর্ত আরোপ করে। উদাহরণস্বরূপ:
findstr /I SFC example1.txt
/I প্যারামিটার হিসেবে অন্তর্ভুক্ত করলে সার্চ কেস-ইনসেনসিটিভ হয়ে যায়, যাতে টার্মটির সকল উল্লেখ মিলে যায়, তাদের ক্যাপিটালাইজেশন নির্বিশেষে। আপনি অফিসিয়াল মাইক্রোসফট ডক্স-এ findstr-এর সকল প্যারামিটারর তালিকা পাবেন।
অপশনাল প্যাটার্নসমূহ
প্যারামিটারই findstr কাস্টমাইজ করার একমাত্র উপায় নয়।
findstr "SFC DISM" example1.txt
উপরোক্তটি যেকোনো একটি টার্ম ধারণকারী ম্যাচিং লাইন রিটার্ন করবে। এটি একটি আইটেমের বিভিন্ন নাম দিয়ে उলլেখ খুঁজে বের করার জন্য উপযোগী।
রেগুলার এক্সপ্রেশন
Findstr একাধিক ফাইলের মাধ্যমে সার্চ করতে সক্ষম।
findstr SFC *.txt
ওয়াইল্ডকার্ড ক্যারেক্টার ব্যবহার করে রেজেক্সটি কারেন্ট ডিরেক্টরির এবং এর সাবডিরেক্টরির সকল টেক্সট ফাইলে ম্যাচ করে। ফলাফলগুলো ফাইলনেম অনুযায়ী পৃথক থাকে, যাতে আপনি দেখতে পান কোন লাইন কোন ফাইল থেকে এসেছে।
পাইপস
বেশিরাগ সিএমডি কমান্ডের মতো, findstr অন্যান্য কমান্ডের আউটপুটেও ব্যবহার করা যায়। টার্গেট কমান্ডের শেষে একটি পাইপ যোগ করুন এবং
dir | findstr .txt
এটি dir কমান্ডের আউটপুটে findstr সার্চ চালায়, .txt-এ শেষ হওয়া ফাইল লিস্ট রিটার্ন করে। অবশ্য, এই নির্দিষ্ট উদাহরণটি প্র্যাকটিসে বেকার কারণ dir নিজেই রেগুলার এক্সপ্রেশন দিয়ে একই টাইপের ফাইল লোকেট করতে পারে।
আউটপুটকে একটি টেক্সট ফাইলে রিডাইরেক্ট করে তারপর সেই টেক্সট ফাইলে findstr ব্যবহার করা দীর্ঘ পথ হলেও, মাঝপথ কেটে দেয়া সহজ।
উইন্ডোজে Findstr-এর অ্যাপ্লিকেশনসমূহ
Findstr-এর স্পষ্ট ব্যবহারগুলো সিনট্যাক্স থেকে স্পষ্ট। আপনি নির্দিষ্ট টেক্সট স্ট্রিং 가진 টেক্সট ফাইল খুঁজে বের করতে পারেন বা একটি নির্দিষ্ট স্ট্রিং একটি ফাইলে আছে কিনা তা দেখতে পারেন।
এটি, সैদ্ধান্তিকভাবে উপযোগী হলেও, ক্লাউড সার্ভিসের যুগে Google Docs-এর মত, অধিকাংশ মানুষের কাছে অনেক টেক্সট ফাইল নেই বলে বাহিরে কদাচিৎ ব্যবহার হয়।
Findstr-এর প্রকৃত অ্যাপ্লিকেশনগুলো কিছুটা সূক্ষ্ম এবং আরও শক্তিশালী ফলাফল জড়িত। এখানে কিছু আরও আকর্ষণীয় উদাহরণ।
নির্দিষ্ট ধরনের ফাইল খুঁজে বের করা
dir কমান্ডে ইতিমধ্যে রেগুলার এক্সপ্রেশন ব্যবহার করে ফাইলনেম সার্চ করার অপশন আছে। কিন্তু findstr-এ, আপনি অন্যান্য অ্যাট্রিবিউট শেয়ারকারী ফাইল খুঁজে বের করতে পারেন, যেমন তৈরি হওয়ার সময় বা তারিখ।
মান লিন, একটি এরর ০৬:৪৩ PM-এ ঘটেছে, এবং আপনি সেটি সময় তৈরি হওয়া সকল লগ ফাইল লোকেট করতে চান। শুধু dir কমান্ড দিয়ে, আপনাকে ম্যানুয়ালি রেজাল্ট ছানতে হবে বা সকল লগ ফাইল পেতে হবে এবং তাদের তুলনা করতে হবে। findstr ব্যবহার করলে এটি একটি সহজ কমান্ড হয়ে যায়।
dir | findstr 06:43
আপনি একই ট্রিক ব্যবহার করে নির্দিষ্ট তারিখে তৈরি ফাইল খুঁজে বের করতে পারেন বা ডিরেক্টরির একটি তালিকা পেতে পারেন।
dir | findstr DIR
Netstat-এর সাথে নেটওয়ার্ক ইনফরমেশন ফিল্টার করা
Netstat একটি কার্যকর উইন্ডোজ কমান্ড যা আপনার কম্পিউটারের নেটওয়ার্ক কানেকশন সম্পর্কে সকল তথ্য দেয়—খুব বেশি তথ্য, যেই কারণে findstr কাজে আসে।
netstat-এর আউটপুটকে findstr-এ পাইপ করলে আপনি নির্দিষ্ট বৈশিষ্ট্যবিশিষ্ট কানেকশন খুঁজে বের করতে পারেন। উদাহরণস্বরূপ, এটি হলো সকল thiết lập কানেকশনের তালিকা পাওয়ার পদ্ধতি।
netstat | findstr ESTABLISHED
এই ট্রিক নেটওয়ার্ক সমস্যা ডায়াগনোস্টিক করার সময় উপযোগী। আপনি এমন একটি অ্যাপ্লিকেশন PID-র সাথে findstr ব্যবহার করেও সেই নির্দিষ্ট প্রসেস দ্বারা খোলা সকল কানেকশন খুঁজে বের করতে পারেন।
netstat -o | findstr 13120
নির্দিষ্ট IP অ্যাড্রেস পাওয়া
ipconfig কমান্ড আপনাকে সিস্টেমের সকল নেটওয়ার্ক ইন্টারফেসের বিবরণ, IP অ্যাড্রেস সহ দেখতে দেয়। আপনি findstr ব্যবহার করে পুরো জিনিস স্ক্রোল না করে নির্দিষ্ট টাইপের IP অ্যাড্রেস এক্সট্রাক্ট করতে পারেন।
ipconfig | findstr Temporary
আপনি এই পদ্ধতিটি প্রসারিত করতে পারেন ipconfig থেকে যেকোনো তথ্য পেতে, সাবনেট মাস্ক থেকে গেটওয়ে অ্যাড্রেস পর্যন্ত।
স্ক্রিপ্ট ফাইল বিশ্লেষণ
আপনি যেকোনো প্রোগ্রামিং ল্যাঙ্গুয়েজে কোড করুন, স্ক্রিপ্ট ফাইলগুলো চূড়ান্তভাবে শুধু টেক্সট। এর মানে আপনি স্ক্রিপ্ট বিশ্লেষণ করতে এবং পুরো কোড খুঁজে বের না করে নির্দিষ্ট সেকশন রিট্রিভ করতে findstr ব্যবহার করতে পারেন।
মান লিন, আমরা একটি নির্দিষ্ট স্ক্রিপ্টে if স্টেটমেন্ট কীভাবে ব্যবহার করা হয়েছে তা দেখতে চাই। আমরা নিচের কমান্ডটি ব্যবহার করতে পারি:
findstr if script.ahk
এটি শুধু if স্টেটমেন্ট ব্যবহার করা লাইনগুলো দেখাবে না, বরং ব্যবহৃত এক্সপ্রেশনগুলোও দেখাবে। আপনি /N প্যারামিটারও অন্তর্ভুক্ত করতে পারেন লাইন নম্বর দেখানোর জন্য, যা স্ক্রিপ্ট ফাইলগুলোর জন্য খুব হাতের কাছে।
findstr /N if script.ahk
Findstr ব্যবহার করার মান আছে কিনা?
কমান্ড লাইন ইন্টারফেস নেভিগেট করার মূল সমস্যা হলো যে টেক্সটের পরিমাণ जिससे ছানতে হয়। Findstr উপযোগী তথ্য এক্সট্রাক্ট করতে এবং জাঙ্ক ফিল্টার আউট করার জন্য একটি অপরিহার্য টুল।
যেহেতু সকল টার্মিনাল কমান্ড টেক্সট-ভিত্তিক আউটপুট দেয়, findstr সবসময় প্রাসঙ্গিক ডেটা লোকেট করতে ব্যবহার করা যায়। নেটওয়ার্ক সমস্যা ট্রাবলশুটিং থেকে সঠিক ফাইল খুঁজে বের করার পর্যন্ত, প্রতিটি অ্যাকশন findstr দিয়ে আরও দক্ষ হয়।
অন্যান্য কমান্ডের সাথে এর সিনার্জির বাইরেও, findstr টেক্সট ফাইলগুলোর কন্টেন্ট ট্রাভার্স করার ক্ষমতার জন্য উপযোগী। আপনি মেশিন-জেনারেটেড লগ ফাইলে নির্দিষ্ট এরর খুঁজে বের করতে পারেন বা জটিল স্ক্রিপ্টে কোডের সেকশন রিট্রিভ করতে পারেন।
সংক্ষেপে, findstr যেকোনো উন্নত উইন্ডোজ ব্যবহারকারীর আর্সেনালে একটি অপরিহার্য টুল, বিশেষত যারা কমান্ড লাইন ইন্টারফেসের সাথে পরিচিত হতে চান।