खोज…


परिचय

सेड कमांड को केवल पते या एड्रेस रेंज का उपयोग करके कुछ लाइनों पर कार्य करने के लिए निर्दिष्ट किया जा सकता है

विशिष्ट रेखा

$ cat ip.txt
address
range
substitution
pattern
sample
  • एन थ लाइन

    $ sed -n '2p' ip.txt 
    range
    
    $ sed '3d' ip.txt 
    address
    range
    pattern
    sample
    
  • अंतिम पंक्ति

    $ sed -n '$p' ip.txt 
    sample
    

लाइनों की विशिष्ट रेंज

$ cat ip.txt 
address
range
substitution
pattern
sample
  • निर्दिष्ट सीमा उन पंक्ति संख्याओं में शामिल है

    $ sed -n '2,4p' ip.txt 
    range
    substitution
    pattern
    
  • $ का उपयोग अंतिम पंक्ति को निर्दिष्ट करने के लिए किया जा सकता है। स्पेस का उपयोग स्पष्टता के लिए पते और कमांड के बीच किया जा सकता है

    $ sed -n '3,$ s/[aeiou]//gp' ip.txt 
    sbstttn
    pttrn
    smpl
    

GNU sed
  • मैं th लाइन को i + j th लाइन

    $ sed '2,+2d' ip.txt 
    address
    sample
    
  • i th लाइन और i + j , i +2 j , i +3 j , आदि।

    $ sed -n '1~2p' ip.txt 
    address
    substitution
    sample
    

नियमित अभिव्यक्ति पैटर्न से मेल खाती लाइनें

$ cat ip.txt 
address
range
substitution
pattern
sample
Add Sub Mul Div
  • एक पैटर्न से मेल खाती लाइनें

    $ sed '/add/d' ip.txt 
    range
    substitution
    pattern
    sample
    Add Sub Mul Div
    
    $ sed -n '/t/p' ip.txt 
    substitution
    pattern
    
    $ sed -n '/[A-Z]/ s| |/|gp' ip.txt 
    Add/Sub/Mul/Div
    
  • पैटर्न की रेंज

    $ sed -n '/add/,/sub/p' ip.txt 
    address
    range
    substitution
    
    $ sed -n '/a/,/e/p' ip.txt 
    address
    range
    pattern
    sample
    

ध्यान दें

  • दूसरे उदाहरण में, यह दो श्रेणियों से मेल खाता है - लाइनें 1,2 और लाइनें 4,5
  • पैटर्न को निर्दिष्ट करने के लिए / बजाय अन्य वर्णों का उपयोग करने के तरीके पर अलग-अलग सीमांकक का उपयोग करके देखें

GNU sed
  • केस-असंवेदनशील मैच

    $ sed -n '/add/Ip' ip.txt 
    address
    Add Sub Mul Div
    
    $ sed -n '/add/I,/sub/p' ip.txt 
    address
    range
    substitution
    Add Sub Mul Div
    

संख्या और पैटर्न दोनों का उपयोग करके रेंज निर्दिष्ट करना

$ cat ip.txt 
address
range
substitution
pattern
sample
Add Sub Mul Div
  • लाइन नंबर से लाइन मिलान पैटर्न

    $ sed -n '2,/pat/p' ip.txt 
    range
    substitution
    pattern
    
  • लाइन संख्या के लिए लाइन मिलान पैटर्न

    $ sed '/pat/,$d' ip.txt 
    address
    range
    substitution
    

GNU sed
  • लाइन मिलान पैटर्न प्लस लाइनों की संख्या इसके बाद

    $ sed -n '/add/I,+1p' ip.txt 
    address
    range
    Add Sub Mul Div
    
  • 0 का उपयोग लाइन के शुरुआती नंबर के रूप में किया जा सकता है, जब रेंज इनपुट के पहले लाइन से मेल खाती है

    $ sed -n '0,/r/p' ip.txt 
    address
    
    $ sed -n '1,/r/p' ip.txt 
    address
    range
    
    $ sed -n '0,/u/p' ip.txt 
    address
    range
    substitution
    

नकारात्मक पता सीमा

$ cat ip.txt 
address
range
substitution
1234
search pattern
sample
Add Sub Mul Div
  • निर्दिष्ट पते के अलावा अन्य लाइनें हटाना

    $ sed '/[0-9]/!d' ip.txt 
    1234
     
    $ sed -n '/[0-9]/p' ip.txt 
    1234
      
    $ sed '$!d' ip.txt 
    Add Sub Mul Div
      
    $ sed -n '$p' ip.txt 
    Add Sub Mul Div
    
  • एक पैटर्न से मेल नहीं खाती लाइनों पर खोजें और बदलें

    $ sed '/ /! s/^/#/' ip.txt 
    #address
    #range
    #substitution
    #1234
    search pattern
    #sample
    Add Sub Mul Div
    
    $ sed '/add/,/sub/! s/[aeiou]//gi' ip.txt 
    address
    range
    substitution
    1234
    srch pttrn
    smpl
    dd Sb Ml Dv
    


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow