linux - grep -f r t, how to make the result sort by r, not t -
 $ cat r 1 2 $ cat t 22 11 $ grep -frt 22 11     आप एक स्क्रिप्ट बना सकते हैं जो स्मृति में सब कुछ रखती है, या आप एक को लागू कर सकते हैं।
 अपनी     का उपयोग करें > Grep  r  फ़ाइल को एक  sed  स्क्रिप्ट में बदलें, जो प्रत्येक मैच के लिए एक इंडेक्स नंबर प्रिंट करता है:  sed  के बजाय , और उपसर्ग द्वारा सॉर्ट करें; फिर उपसर्ग को त्यागें।  
  / 1 / s / ^ / 00001 / / 2 / s / ^ / 00002 /  
  sed -f r टी | सॉर्ट-एन | कट-डी '' -f2- & gt; आउटपुट     sed  स्क्रिप्ट बनाना बहुत मुश्किल नहीं होना चाहिए; यहां एक साधारण अक्सा स्क्रिप्ट है (ओह, विडंबना!) 
  awk '{printf ("/% s / s / ^ /% 05i / \ n", $ 0, एनआर)}' आर एंड एस; r.sed    यदि आप अपने regexes में slashes है, चीजों को थोड़ा अधिक जटिल करना होगा। याद रखें कि  / foo /  को भी  \: foo:  लिखा जा सकता है, इसलिए यदि आप एक उपयुक्त सीमांकक ढूंढ सकते हैं जो आपके डेटा में नहीं आता है, तो संभवतः सबसे आसान समाधान है। < / P> 
 यदि आपका  sed  मानक इनपुट से एक स्क्रिप्ट पढ़ सकता है (उन सभी को नहीं, लेकिन लिनक्स  sed  ठीक होना चाहिए) आप अस्थायी उपयोग से बच सकते हैं फ़ाइल; तब पूरी पाइपलाइन तब 
  awk '{printf ("/% s / s / ^ /% 05i / \ n", $ 0, एनआर)}' आर 'है। Sed -f- टी | सॉर्ट-एन | कट-डी '' -f2- & gt; आउटपुट   
Comments
Post a Comment