Saturday, 15 June 2013

regex - Match number 1 and not 10 or 11 using grep or other way -


मेरे पास निम्न सामग्री वाली फाइल है:

  image_0001.jpg 0 image_1212.jpg 0 image_1324.jpg 1 image_1784.jpg 1 image_7867.jpg 10 image_1919.jpg 11  

और मैं दूसरे कॉलम में नंबर से मेल करने के लिए केवल लाइन प्राप्त करने का एक रास्ता खोजना चाहता हूं: < / P>

यदि मैं "0" के लिए पूछता हूं तो केवल प्राप्त करें:

  image_0001.jpg image_1212.jpg  

अगर मैं "1 "तो केवल प्राप्त करें:

  image_1324.jpg image_1784.jpg  

क्या यह grep या awk का उपयोग करने का एक तरीका है? जब तक मैं "1" के लिए grep 10 और 11 से लाइन मिल रहा हूं

आप awk का उपयोग कर सकते हैं ।

  $ awk '$ 2 == "1" {प्रिंट $ 1}' फ़ाइल image_1324.jpg image_1784.jpg  

यह कॉलम के मान को प्रिंट करेगा 1 केवल अगर कॉलम 2 का मान बिल्कुल 1 है।

OR

  $ awk -v var = "1" '$ 2 == var {print $ 1}' फ़ाइल image_1324.jpg image_1784.jpg  

आप उस मूल्य को पास कर सकते हैं जिसे आप -v से जांचना चाहते हैं पैरामीटर।


No comments:

Post a Comment