সুতরাং আমার কাছে স্ট্যান্ডার্ড লগ ফর্ম্যাটটি ব্যবহার করে অ্যাপাচি লগের একটি গুচ্ছ রয়েছে। আমি সমস্ত লগ লাইনগুলি পেতে চাই যা ওয়েব ক্রলার থেকে আসে নি।
সুতরাং আসুন আমি বলি যে আমার কাছে এন্ট্রিগুলির মতো একটি ফাইল রোবট_প্যাটার্ন রয়েছে
Googlebot
msnbot-media
YandexBot
bingbot
আমি যদি কমান্ডটি চালনা grep -f robot_patterns *.log
করি তবে উপরের নিদর্শনগুলির সাথে মেলে বটগুলি দ্বারা সমস্ত এন্ট্রি পেয়ে যাব। আমার আসল তালিকায় বট এবং এজেন্টদের ~ 30 এন্ট্রি রয়েছে যা আমি উপেক্ষা করতে চাই।
তবে আমি সমস্ত এন্ট্রিগুলি সন্ধান করতে চাই যা বট থেকে নয় । সুতরাং আমি চেষ্টা করি grep -v -f robot_patterns *.log
এবং গ্রেপ দ্বারা কোনও ফলাফল ফিরে আসে না। এটি আমার প্রত্যাশা বা ইচ্ছা নয়, এবং আমি যা চাই তা পাওয়ার কোনও সুস্পষ্ট উপায় আমি খুঁজে পাচ্ছি না। -v
কোনও ফাইলে একাধিক নিদর্শনগুলির সাথে মিলিত বিকল্পটি ব্যবহার করার সময় , গ্রেপ কেবলমাত্র একটি মিলে যাওয়া লাইনটি যদি প্রতিটি প্যাটার্নের সাথে মেলে তা ফিরিয়ে আনবে।
GNU grep 2.6.3
।