मैं शैल स्क्रिप्टिंग का उपयोग करके लाइन द्वारा एक टेक्स्ट फ़ाइल लाइन पढ़ने की कोशिश कर रहा हूं। मैं क्या कर रहा हूंलाइन द्वारा टेक्स्ट फ़ाइल लाइन के माध्यम से पढ़ना और जांचना कि क्या उस पंक्ति में एक निश्चित स्ट्रिंग है
while read line
do
var1=$(grep -s "Completed" $line)
var2=$(grep -s "Script Finished" $line)
if[ "$var1" = "$line" ]
break
else
if[ "$var2" = "$line" ]
count='expr $count + 1'
else
countinue
fi
fi
done < file.txt
यदि आपके कोई सुझाव हैं तो कृपया मुझे बताएं! मैं अन्य विकल्पों के लिए खुला हूं क्योंकि मैं इस तरह से बहुत लंबा करने की कोशिश कर रहा हूं।
स्पष्ट करने के लिए:
मैं लाइन द्वारा एक फ़ाइल लाइन के माध्यम से जा रहा हूँ (पाश जबकि) तो मैं देखने के लिए अगर "पूर्ण" है कि लाइन grepping हूँ सबस्ट्रिंग है और देखने के लिए अगर "स्क्रिप्ट तैयार" grepping एक सबस्ट्रिंग है (Grep चर को पूरी रेखा में सेट करेगा)। तो जब मैं चर को पूरा करता हूं तो चेक करता हूं, तो मैं थोड़ी देर के अंतराल से बाहर निकलना चाहता हूं, अगर यह जांच न हो कि "स्क्रिप्ट समाप्त" एक सबस्ट्रिंग है तो मैं एक काउंटर बढ़ा सकता हूं (मैं यह समझने की कोशिश कर रहा हूं कि कितनी स्क्रिप्ट समाप्त हो गई हैं " पूर्ण")।
भ्रमित के बारे में:
जब मैं कर var1 = $ (ग्रेप -s $ लाइन "पूर्ण") कारण है कि यह पूरे के सभी उदाहरणों मिल रहा है ... मैंने सोचा था कि अगर im लाइन द्वारा लाइन से गुजर रही यह केवल उस निश्चित पंक्ति में उदाहरण पाएंगे।
संपादित करें:
मैं नीचे awk जवाब का इस्तेमाल किया। मुझे बस इतना करना था कि {अगला} कथन हटा दें और यह पूरी तरह से काम करता है।
धन्यवाद
आप इसके साथ क्या हासिल करने की कोशिश कर रहे हैं? क्या आप उस पर कुछ जानकारी दे सकते हैं? –
हां निश्चित रूप से मेरी माफ़ी। मैं एक फ़ाइल के माध्यम से जाने की कोशिश कर रहा हूं जो स्क्रिप्ट चलाए जाने पर सूचीबद्ध करता है। तो मुझे केवल तभी ख्याल है जब कोई स्क्रिप्ट समाप्त हो जाती है .. यदि यह समाप्त हो जाए तो मैं काउंटर को बढ़ा दूंगा। हालांकि, स्क्रिप्ट ब्लॉक में चलती हैं .. सुबह दोपहर और रात। तो मैं लूप को "ब्ला ब्लाह" (स्क्रिप्ट पूर्ण) के साथ तोड़ रहा हूं क्योंकि सुबह – Alan
में समाप्त होने वाली स्क्रिप्ट की मात्रा होगी, यदि आप ऐसा करने की कोशिश नहीं करते हैं तो आपको ऐसा करने और प्रासंगिक संसाधनों को खोजने में बहुत आसान समय होगा यह सब एक बार में, और इसके बजाय अलग-अलग हिस्सों को काम करने पर ध्यान केंद्रित करते हैं। उदाहरण के लिए, आपको दो स्ट्रिंग्स 'ए = "हैलो वर्ल्ड" बी = "पांडा" को परिभाषित करना चाहिए और अगर उन्हें तुलना करने वाले एक कथन को लिखने का प्रयास करें (और उसके बाद' बी = $ ए 'सेट करना सुनिश्चित करें कि सकारात्मक और नकारात्मक दोनों मामले काम करते हैं)। Google के लिए "मैं एक शेल स्क्रिप्ट में तारों की तुलना कैसे करूं" की तुलना में बहुत आसान है "लाइन लाइन द्वारा टेक्स्ट फ़ाइल लाइन के माध्यम से मैं कैसे पढ़ूं यदि उस पंक्ति में एक निश्चित स्ट्रिंग है"। –