मेरे पास CATALOG.dat फ़ाइल है जिसमें निम्न की तरह हैं:
event_017_3916 .gz
मुझे इस लाइन (017) की पहली संख्या निकालने की आवश्यकता है। यह प्रोग्राम दूसरे प्रोग्राम (प्रोग्राम) को लॉन्च करने के लिए आवश्यक है, जिसकी शुरूआत इनपुट नंबरों की आवश्यकता है (यानी, इसका उपयोग $ PROGRAM। सी 017) के रूप में किया जाना चाहिए। दरअसल, मुझे सिर्फ एक कमांड बनाने की जरूरत है जैसे:
प्रोग्राम। 017
मेरे खोल स्क्रिप्ट के अंदर मेरी समस्या यह है कि: मैं 017 कैसे पढ़ूं और इसे एक वेरिएबल के रूप में सेट करें जिसे मैं कमांड बनाने के लिए उपयोग कर सकता हूं? आपके लिए बहुत बहुत धन्यवाद!
एक awk
समाधान:
awk -F_ '{print $ 2}' फ़ाइल
सीमांकक को _
( -F_
) और दूसरा ( प्रिंट $ 2
) फ़ील्ड (जहां 017
संग्रहीत है) प्रिंट करता है
फ़ाइल को चलाने के लिए और इसे एक चर (< कोड> $ पंक्ति इसमें 017
):
पढ़ते समय रेखा को गूंजता "& gt; $ line" प्रोग्राम। सी $ पंक्ति पूर्ण हो गई है & lt; & Lt; (awk -F_ '{print $ 2}' फ़ाइल)
इसके अतिरिक्त आप xargs
का उपयोग निम्न आदेश के साथ कर सकते हैं:
awk -F_ '{print $ 2}' फ़ाइल | Xargs program.C
फ़ाइल में प्रत्येक पंक्ति के लिए प्रोग्राम
निष्पादित करता है, जहां xzy
निकाला गया अंक है। < / P>
Comments
Post a Comment