লিনাক্স/ইউনিক্সে grep কমান্ড ব্যবহার করে লগ ফাইলে টেক্সট (স্ট্রিং) বা ত্রুটি খুঁজে বের করা হয়। Grep আপনাকে অন্য কমান্ডের আউটপুটে যেকোনো ডেটা খুঁজে বের করার/সিলেক্ট করার সুবিধা দেয়:
command | grep search
পাওয়ারশেলে, আপনি ফাইলে টেক্সট স্ট্রিং খুঁজে বের করতে Select-String কমান্ডলেট ব্যবহার করতে পারেন।
উদাহরণস্বরূপ, নিচের কমান্ড একটি টেক্সট ফাইল বা stdout-এ ERROR ধারণকারী সব লাইন প্রদর্শন করবে:
Select-String -Path c:\tmp\makeapp_sxtracesxs.txt -Pattern "ERROR"
কমান্ডটি আপনার খুঁজে বের করার টেক্সট ধারণকারী লাইনের সংখ্যা এবং তাদের মান দেখিয়েছে।
যদি আপনি একটি নির্দিষ্ট ডিরেক্টরির সব TXT ফাইলে স্ট্রিং সার্চ করতে চান, নিচের কমান্ড রান করুন:
Select-String -Path c:\tmp\*.txt -Pattern "ERROR"
আপনি একটি ফোল্ডারের সব ফাইল সার্চ করতে এই কমান্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ, এক্সচেঞ্জ সার্ভারে ট্রান্সপোর্ট (SMTP) এবং মেসেজ ট্র্যাকিং লগ সার্চ করার জন্য এই কমান্ড উপযোগী।
Exclude এবং Include অপশন ব্যবহার করে আপনি সার্চের জন্য নির্দিষ্ট ফাইল ইনক্লুড বা এক্সক্লুড করতে পারেন। নিচের কমান্ড copy শব্দ থাকা ফাইলগুলো বাদ দিয়ে সব TXT এবং LOG ফাইলে সার্চ করবে:
$path = "c:\tmp\*"
Select-String -Path $path -Pattern "ERROR" -Include "*.txt","*.log" -Exclude "*copy*"
পূর্বের উদাহরণ শুধু নির্দিষ্ট ডিরেক্টরিতে টেক্সট সার্চ করে। নেস্টেড ডিরেক্টরিতে রিকার্সিভলি ফাইল সার্চ করতে Get-ChildItem কমান্ডলেট ব্যবহার করুন:
Get-ChildItem -Path 'c:\tmp\' -Recurse -include "*.mp3","*.avi" -ErrorAction SilentlyContinue | Select-String -SimpleMatch "ERROR","WARNING"