सेड वापरून फाईलमधून विशिष्ट ओळी कशा डिलिट करायच्या

विशिष्ट प्रसंगी आम्हाला फाईलमधून कित्येक विशिष्ट रेखा हटविणे आवश्यक असते, उदाहरणार्थ, माझ्या बाबतीत असे झाले आहे की माझ्याकडे फायलींची संपूर्ण यादी आहे आणि मला या सर्वपैकी लाइन # 27 हटविणे आवश्यक आहे (ओळ # 27 ही एसीएलची आहे , सर्वसाधारणपणे, नियम, कॉन्फिगरेशन), मी एकतर फाईलद्वारे फाईल एडिट करू शकतो किंवा कमांडच्या सहाय्याने मला जे हवे आहे ते मिळवू शकते sed आणि बॅश स्क्रिप्ट (पर्यायी).

परंतु, एक फाईल थोडी सोपी करून बघू.

आमच्याकडे फाईल आहे distros-deb.txt ज्यामध्ये हे आहेः

डेबियन

कुबंटू

आर्कलिनक्स

विरघळली

मिंट

दुस words्या शब्दांत, फाईल distros-deb.txt ज्यामध्ये आपण डेबियन-आधारित डिस्ट्रॉज ठेवू, परंतु तेथे आपल्याला दिसेल की # 3 ओळीत "आर्चलिनक्स" आहे, एक डिस्ट्रॉ ज्याचा डेबियनशी साहजिकच काही संबंध नाही, म्हणून आपण ती ओळ दूर केली पाहिजे. त्या फाईलची ओळ # 3 काढून टाकण्यासाठी आम्ही पुढील गोष्टी ठेवू:

sed "3d" distros-deb.txt > distros-deb-ok.txt

या ओळीचे स्पष्टीकरण देणे काहीसे सोपे आहे तहान "3 डी" आम्ही हे दर्शवत आहोत की आम्ही ओळ # 3 काढून टाकू distros-deb.txt आम्ही कोणत्या फाईलवर काम करायचे ते दर्शवितो, म्हणजेच या फाईलची ओळ # 3 डिलीट करा. येथे एंटर दाबल्यास हे आपल्याला टर्मिनलमध्ये काय हवे आहे ते दर्शविते. > distros-deb-Ok.txt टर्मिनलवर निकाल दाखविण्याऐवजी या नावाने फाईलमध्ये ठेवण्याबाबत आम्ही हे सूचित करीत आहोत.

काय सोपे आहे?

तसेच आम्ही हे वापरणे टाळू शकतो > distros-deb-Ok.txt चा योग्य पॅरामीटर वापरुन sed, पॅरामीटर -i

म्हणजेच जर आपल्याला फाईलमधून लाइन काढून ती त्याच नावाने सेव्ह करायची असेल (आणि दुसर्‍या फाईलमध्ये नसेल) तर पॅरामीटर जोडा. -i :

sed -i "3d" distros-deb.txt

हे डिस्ट्रोज-डेब्ट टेक्स्ट वरुन # 3 ओळ काढून ते सेव्ह करेल.

मला रेषांची श्रेणी हवी असेल तर ती # 3 परंतु # 4 आणि # 5 देखील काढून टाकेल? हे साध्य करण्यासाठी आम्ही 3 ते 5 अशी श्रेणी ठेवले, म्हणजेः

sed -i "3,5d" distros-deb.txt

आणि हे मला फक्त डेबियन आणि कुबंटू दर्शवेल 😀

तर जेव्हा मला एकूण रेषा माहित नसतील तेव्हा मला शेवटच्या ओळीवर 2 हटवायचे असेल तर काय करावे?

फक्त डॉलर चिन्ह वापरा - $ $

sed -i "2,$d" distros-deb.txt

जर आपल्याला पहिल्या ओळीपासून # 4 वर काढायचे असेल तर आम्ही सुरुवातीस फक्त 1 मूल्य ठेवले:

sed -i "1,4d" distros-deb.txt

कार्ये स्वयंचलित करण्यासाठी आपल्याला बॅश स्क्रिप्ट्स तयार करायच्या असतील आणि आपल्याला कॉन्फिगरेशन फाइल्सच्या ओळी सुधारित करणे आणि त्यास दूर करणे आवश्यक आहे, आम्ही वापरू शकतो त्या सुधारित करण्यासाठी हे सर्वकाही आहे. sed o पेर्ल, तसेच दूर करण्यासाठी आम्हाला सेड how सह कसे करावे हे आधीपासूनच आम्हाला माहित आहे

कोट सह उत्तर द्या


लेखाची सामग्री आमच्या तत्त्वांचे पालन करते संपादकीय नीति. त्रुटी नोंदविण्यासाठी क्लिक करा येथे.

16 टिप्पण्या, आपल्या सोडा

आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही.

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   एमएसएस-डेव्हल म्हणाले

    खूप चांगले योगदान 😉

    1.    केझेडकेजी ^ गारा म्हणाले

      धन्यवाद

      तसे, आम्हाला तुमचा ईमेल आत्ताच प्राप्त झाला आहे मी तुम्हाला उत्तर देईन 😀

      कोट सह उत्तर द्या

  2.   निनावी म्हणाले

    टर्मिनलचे मुख्य याजक म्हणून, अरे ग्रेट केझेडकेजी ^ गारा, मी तुमच्याकडे येत आहे, आणि मी तुम्हाला विचारतो: माझ्या अज्ञानाच्या स्तरावर मी असे ट्यूटोरियल कोठे मिळवू शकते जे मला सामायिक करण्यासाठी भिन्न नेटवर्कमधील दोन रिमोट मशीनमधील एसएसएस कनेक्शन वापरण्याची परवानगी देते. मजकूर फायली, पीडीएफ, प्रतिमा आणि ध्वनी (एमपी 3)….

    🙂

    गंभीरपणे, आपण यासंदर्भात माझे मार्गदर्शन करू शकता का? माझ्याकडे दोन मशीन आहेत, एक कामात आणि एक घरी आणि मला त्यांच्या दरम्यान एसएसएस कनेक्शनची आवश्यकता आहे (कारण मला हे समजले आहे की, ssh मशीनमध्ये सामग्री सामायिक करण्यास परवानगी देते, मी बरोबर आहे का?).
    आणि जर मी चुकत असेल तर आपण कोणत्या अर्जाची शिफारस कराल?
    आणि या संदर्भात मला एक मूलभूत ट्यूटोरियल कोठे सापडेल?

    1.    -स्पेकर- म्हणाले

      scp

      scp यूजर @ मशीन_ड्रेस: ​​पाथ यूझर @ मशीन_ड्रेस: ​​पथ.

      सीपी, स्त्रोत -> गंतव्य म्हणून समान वाक्यरचना.

  3.   F3niX म्हणाले

    आपण मनुष्य दर्शविले, आपण हरवले होते.

  4.   जोकिन म्हणाले

    चांगली टिप!

  5.   LycusHackerEmo म्हणाले

    स्वारस्यपूर्ण टीप… एक्सडी

    आपल्यास असे काही माहित आहे ज्यामुळे ठळक मजकूर स्पष्ट दिसतो?
    म्हणजे, माझ्याकडे टेक्स्ट फाईल आहे जी शब्दकोष आहे, त्यात 10000 पेक्षा जास्त ओळी आहेत आणि मला निलंबन बिंदूंपूर्वी काही मजकूर हायलाइट करायचा आहे आणि हे एकामागून एक करणे खूप जास्त आहे.

    1.    केझेडकेजी ^ गारा म्हणाले

      हाय,

      टीटीएसटी फाईल म्हणजे मजकूर मजकूर, नावाप्रमाणेच ... साध्या, स्वरुपाशिवाय किंवा यासारखे काहीही, मला माफ करा परंतु मला वाटते की आपण जे विचारता ते करता येत नाही, शक्य आहे काय? 🙁

      कोट सह उत्तर द्या

      1.    एसीए म्हणाले

        प्रत्यक्षात ते करू शकते, परंतु आपल्याला गंतव्य स्वरूप माहित असले पाहिजे.
        पे:
        प्रतिध्वनी (एको "रॉबर्ट: हॅलो. येथे बदला" | सेड / एस / \ ./. \\ ई [40; 31 मी /; एस / \: /: \\ ई [40; 35 मीटर / ')
        येण्याची बाब आहे.
        ते हटविण्याचा अन्य मार्ग म्हणजे '' '' '' $ 1 '/ डी' आहे परंतु आपणास खात्री आहे की आपण पुन्हा आहात.

        1.    LycusHackerEmo म्हणाले

          नंतर ते * .odt मध्ये जतन करणे समाप्त करा

          लिब्रेऑफिससह करण्याचा कोणताही सोपा मार्ग नाही?

  6.   लोलो म्हणाले

    आपण रेषेचा काही भाग हटवू आणि बाकीचा भाग सोडू शकता?

    समजा मला एका विशिष्ट पंक्तीतील शब्दासमोर सर्व काही हटवायचे आहे.

    किंवा त्या शब्दाचे अनुसरण करणारे सर्वकाही हटवा.

    1.    एसीए म्हणाले

      होय, रेजेक्स खेचण्याची ही बाब आहे (जर आवश्यक असेल तर सेड-आर, रेरेक्सएक्सप्ट एक्सटेंडेड)
      मला जे सापडते त्यापासून सुरूवात
      एको «रॉबर्ट: हॅलो. येथे बदला »| सेड चे / चेंज // '
      एक स्पष्ट परिभाषित नमुना आणि सह. (एक वर्ण) आणि * (एकापेक्षा जास्त)
      नंतरः
      एको «रॉबर्ट: हॅलो. येथे बदला »| सेड चे / चेंज. * // '
      पूर्वीः
      एको «रॉबर्ट: हॅलो. येथे बदला »| सेड चे /. * बदला // '
      जर शब्द महत्त्वाचा असेल तर
      एको «रॉबर्ट: हॅलो. येथे बदला »| सेड चे / चेंज. * / चेंज / '
      किंवा अधिक तपशीलवार
      चेंब नंतर काय होते रॉबर्ट असलेल्या ओळीत
      इको-ई e फ्रिटझः हॅलो. येथे बदला ober n रॉबर्ट: हॅलो. येथे बदला »| सेड '/ रॉबर्ट / एस / कॅम्बिओ.*//'
      किंवा सुरूवातीस दुसरी ओळ काढा आणि उर्वरित प्रक्रिया करा
      इको-ई e फ्रिटझः हॅलो. येथे बदला ober n रॉबर्ट: हॅलो. येथे बदला \ n अन्य »| sed -e 2d -e 's / बदला. * //'
      इको-ई e फ्रिटझः हॅलो. येथे बदला ober n रॉबर्ट: हॅलो. येथे बदला \ n अन्य »| सेड '2 डी; एस / चेंज. * //'

      1.    लोलो म्हणाले

        धन्यवाद, हे माझ्यासाठी खूप उपयुक्त आहे.

  7.   msx म्हणाले

    छान लेख, मला आवडलेल्यांपैकी एक, सिस अ‍ॅडमिन किती छान आहे!
    सेड, अवेक, पर्ल, ग्रीप, शेपूट, डोके, "इमाक्स" आणि इतर बरीच आवश्यक साधने नसल्यास आपले आयुष्य कसे असेल !?

  8.   लिस्बेथ ओल्लारवे म्हणाले

    धन्यवाद, हे खूप उपयुक्त होते.

  9.   पेर्नी म्हणाले

    नमस्कार, आणि त्याच आदेशामधील फाइलमधून आपण 1,4 आणि 10 ओळी कशा हटवू शकता?