यह एक दिलचस्प सवाल है और इसका सरल उत्तर होना चाहिए: पूंछ साथ उपसर्ग स्विच का उपयोग करें, लेकिन दुर्भाग्य से यह वर्तमान में tail
के सबसे संस्करणों में लागू नहीं है।
जैसा कि मैंने इसे देखा है, आपके पास दो विकल्प हैं: कार्य के लिए मानक उपकरण अनुकूलित करें (Udys answer देखें) या अपनी पसंदीदा स्क्रिप्टिंग/प्रोग्रामिंग भाषा के साथ अपना स्वयं का टूल लिखें।
नीचे एक तरीका है जिसे आप perl
के लिए File::Tail::Multi
मॉड्यूल के साथ कर सकते हैं। ध्यान दें कि आपको मॉड्यूल को सीपीएएन (cpan -i File::Tail::Multi
) से स्थापित करने की आवश्यकता हो सकती है।
निम्न स्क्रिप्ट को सहेजें उदा। mtail
अपने निष्पादन योग्य पथ पर और स्क्रिप्ट निष्पादन योग्य बनाएं।
#!/usr/bin/env perl
use File::Tail::Multi;
$| = 1; # Enable autoflush
$tail = File::Tail::Multi->new(RemoveDuplicate => 0,
OutputPrefix => 'f',
Files => \@ARGV);
while(1) { $tail->read; $tail->print; sleep 2 }
'p'
को बदलें OutputPrefix
अगर आप पूरा पथ उपसर्ग पसंद करते हैं।
इस तरह भागो यह:
mtail /var/links/proc2/id/myprocess*/Daily/myprocess*.log | grep --line-buffered "Search this: "
आप जब grep
पिछले आदेश है --line-buffered
निर्दिष्ट करने की आवश्यकता नहीं है, इसलिए इस के लिए पर्याप्त है:
mtail /var/links/proc2/id/myprocess*/Daily/myprocess*.log | grep "Search this: "
की डुप्लीकेट http://superuser.com/प्रश्न/59471/सरल-उपयोग-के-पूंछ-grep-एकाधिक-स्थितियों –