sed استعمال ڪندي فائل مان مخصوص لائنون ڪئين ختم ڪجي

خاص موقعن تي اسان کي فائلن يا گھڻن کان هڪ مخصوص لائن ختم ڪرڻ جي ضرورت آهي ، مثال طور ، اهو مون سان ٿيو آهي ته مون وٽ فائلن جي پوري فهرست هئي ۽ مون کي انهن سڀني کي لڪير نمبر 27 کي ختم ڪرڻ جي ضرورت آهي (لائن # 27 اهو آهي) هڪ اي سي ايل جو ، عام ، قاعدو ، ترتيب ڏيڻ) ، مان يا ته فائيل فائيل ۾ تبديلي آڻي سگهان ٿو يا حاصل ڪري سگهان ٿو مون کي جيڪو حڪم جي استعمال جي ضرورت آهي سي ۽ بيش اسڪرپٽ (اختياري)

پر ، اچو ته هڪ فائل کي بلڪل سادو ڏسڻ ڏيو.

اسان وٽ فائل آھي distros-deb.txt جنهن ۾ شامل آهي:

ڏيون

ڪوببي

آرڪائنلڪسڪس

سولائيز

پيغام

ٻين لفظن ۾ ، فائل distros-deb.txt ڪٿي آهي اسان ڊبين تي ٻڌل ڊائروس رکون ٿا ، پر اتي اسان ڏسندا آهيون ته # 3 واري لائن ۾ "آرچينڪس" آهي ، هڪ پريشاني آهي جو بظاهر ڪجهه به ناهي آئي ڊيبين سان ، تنهنڪري اسان کي اهو لڪائي ختم ڪرڻ گهرجي. انهي فائل جي لائين نمبر 3 کي ختم ڪرڻ لاءِ اسان هيٺيان رکنداسين:

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

ھن لڪير کي بيان ڪرڻ ڪجھ آسان آھي ، سان پياس "3 ڊي" اسان ظاهر ڪري رهيا آهيون ته اسين لائن # 3 کي ختم ڪنداسين distros-deb.txt اسان ظاهر ڪيو ٿا ته ڪهڙي فائل تي ڪم ڪرڻ گهرجي ، يعني انهي فائل جي لائين نمبر 3 کي ختم ڪريو ، هتي جيڪڏهن اسان پريس داخل ڪندا اهو اسان کي ڏيکاريندو ته اسان ڇا چاهيون ٿا ، پر ٽرمينل ۾ ، انهي سان > ڊسٽورس-ڊيب- ٺيڪ. ٽيٽيڪس اسان اهو ظاهر ڪري رهيا آهيون ته نتيجو ٽرمينل ۾ ڏيکارڻ بدران ، اهو انهي نالي سان فائل ۾ رکجي.

ڇا سادو آهي؟

گڏو گڏ ، اسين استعمال ڪرڻ کان پاسو ڪري سگھون ٿا > ڊسٽورس-ڊيب- ٺيڪ. ٽيٽيڪس جو صحيح پيمراٽر استعمال ڪندي سيپيٽرول -i

اهو آهي ، جيڪڏهن اسان فائل تان لڪير ختم ڪرڻ چاهيون ٿا ۽ ساڳئي نالي سان محفوظ ڪرڻ چاهيون ٿا (۽ نه ڪنهن ٻي فائل ۾) ، بس پيرا ميٽر کي شامل ڪريو -i :

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

اهو لائين # 3 distros-deb.txt مان هٽايو ۽ محفوظ ڪندو.

ڇا جيڪڏهن آئون لائينز جي حد چاهيان ٿو ، اهو آهي لڪير # 3 کي پڻ # 4 ۽ # 5 کي؟ انهي کي حاصل ڪرڻ لاءِ اسين حد 3 کان 5 تائين رکون ٿا ، يعني:

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

۽ اهو صرف مون کي ڊيبين ۽ ڪوبنٽو will ڏيکاريندو

پوءِ ڇا جيڪڏهن آئون لائن 2 کان آخري لائينن کي حذف ڪرڻ چاهيان ٿو ، جڏهن ته آئون ڪل سٽون نٿو چاهيان؟

بس ڊالر جي نشان کي استعمال ڪريو - »$

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

جيڪڏهن توهان پهريون نمبر # 4 کان ختم ڪرڻ چاهيندا آهيو ته اسان صرف شروعات ۾ قيمت 1 رکون ٿا.

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

هي سڀ ڪجهه رهيو آهي ، هڪ تمام مفيد ٽپ آهي جڏهن توهان ڪم کي پاڻمرادو بڻائڻ لاءِ بش اسڪرپٽ ٺاهڻ چاهيو ٿا ۽ توهان کي ترتيب واري فائلن جي لائينن کي تبديل ۽ ختم ڪرڻ جي ضرورت آهي ، تبديل ڪرڻ لاءِ اسان استعمال ڪري سگهون ٿا. سي o پرو، انهي سان گڏ اسين ختم ڪرڻ لاءِ alreadyاڻون ٿا ته اهو ڪئين 😉

اقتباس سان جواب ڏيو


مضمون جو مواد اسان جي اصولن تي عمل ڪري ٿو ايڊيٽوريل اخلاقيات. غلطي ڪلڪ ڪرڻ جي رپورٽ لاءِ هتي.

16 تبصرا ، پنھنجو ڇڏ

پنهنجي راءِ ڏيو

پنهنجي اي ميل ايڊريس شايع نه ڪيو ويندو. گهري شعبن سان لڳل آهن *

*

*

  1. ڊيٽا جو ذميوار: Miguel Ángel Gatón
  2. ڊيٽا جو مقصد: ڪنٽرول سپيم ، تبصرو جي انتظام.
  3. سازش: توهان جي رضامندي
  4. ڊيٽا جي ابلاغ: ڊيٽا کي قانوني ذميواري کانسواءِ ٽئين پارٽين تائين رسائي نه ڏني ويندي.
  5. ڊيٽا اسٽوريج: ڊيٽابيس اويسينٽس نيٽورڪ (اي يو) پاران ميزباني ڪيل
  6. حق: ڪنهن به وقت توهان پنهنجي معلومات کي محدود ، ٻيهر ۽ ختم ڪري سگهو ٿا.

  1.   ايس ايس وي ڊيول چيو

    تمام سٺو حصو 😉

    1.    KZKG ^ گارا چيو

      مهرباني

      رستي ۾ ، اسان کي توهان جي ايميل ملي هئي هينئر آئون توهان جو جواب ڏيان ٿو 😀

      اقتباس سان جواب ڏيو

  2.   ناهن چيو

    ٽرمينل جي اعلي پادرين ، سرور ۽ سي ايس ڪنيڪشن جي ڪري مون وٽ آ ، او زبردست KZKG ^ Gaara ، ۽ مان توهان کان پڇان ٿو: جتي مان پنهنجي لاعلمي جي سطح تي سبق حاصل ڪري سگهان ٿو جيڪا مون کي ٻن ريموٽ مشينن جي وچ ۾ ايس ايس سي ڪنيڪشن استعمال ڪرڻ جي اجازت ڏي. مختلف نيٽ ورڪن تي ٽيڪسٽ فائلز ، پي ڊي ايف ، تصوير ۽ آواز شيئر ڪرڻ لاءِ (ايم پي 3)….

    🙂

    درحقيقت ، ڇا توهان ان سلسلي ۾ منهنجي رهنمائي ڪري سگهو ٿا ، مون وٽ ٻه مشينون آهن ، هڪ ڪم تي ۽ هڪ گهر ۾ ۽ مون کي انهن جي وچ ۾ هڪ ڪنيڪشن جي ضرورت آهي (ڇاڪاڻ ته جيئن مان هن کي سمجهان ٿو ، ايس ايڇ کي مشينن جي وچ ۾ شيئر ڪرڻ جي اجازت ڏي ، ڇا آئون صحيح آهيان؟ ).
    ۽ جيڪڏهن مان غلط آهيان ، توهان ڪهڙي درخواست ڏيو ٿا؟
    ۽ مان هن سلسلي ۾ هڪ بنيادي سبق ڪٿي ڳوليان؟

    1.    -اسڪيڪر- چيو

      ايس پي.

      scp صارف @ مشين_ ايڊريس: رستو استعمال ڪندڙ @ مشين_ ايڊريس: رستو.

      ساڳيو نحو جيئن سي پي ، ذريعو -> منزل.

  3.   f3niX چيو

    توهان انسان ڏيکاريا ، توهان وڃائي ويٺا.

  4.   جويڪين چيو

    سٺي صلاح

  5.   ليڪڪ هيڪر ايمو چيو

    دلچسپ ٽپ… XD

    ڇا توهان کي اهو toاڻڻ جو شوق ٿئي ٿو جيڪو بولڊ متن کي ٻاهر ڪ makesندو هجي؟
    منهنجو مطلب آهي ، مون وٽ هڪ txt فائل آهي جيڪا هڪ لغت آهي ، ان ۾ 10000 کان وڌيڪ لائينون آهن ۽ آئون چاهيان ٿو ته اها “:” معطل ٿيڻ واري پوائنٽن کان اڳ ڪجهه متن کي اجاگر ڪري ۽ هڪ ڪري هڪڙي ڪرڻ تمام گهڻو هجي.

    1.    KZKG ^ گارا چيو

      هيلو،

      هڪ ٽيڪسٽ فائل سادي ٽيڪسٽ آهي ، جيئن نالي جو مطلب آهي ... سادي ، بغير شڪلن ۽ ڪجهه اهڙي ئي قسم سان ، آئون معذرت سان چوان ٿو پر منهنجو خيال آهي ته جيڪو توهان پڇو اهو نٿو ڪري سگهجي ، ڇا ٿي سگهي ٿو 🙁

      اقتباس سان جواب ڏيو

      1.    اڪيڊمي چيو

        اصل ۾ اهو ڪري سگهي ٿو ، پر توهان کي destinationاڻڻ گهرجي منزل جي شڪل.
        مثال طور:
        گونج $ (گونج "رابرٽ: هيلو. هتي تبديل ڪريو" | sed 's / \ ./. \\ e [40؛ 31m /؛ s / \: /: \\ e [40؛ 35m /')
        اهو معاملو ڪرڻ جي ڳالهه آهي.
        ختم ڪرڻ جو ٻيو طريقو جيڪو استعمال ٿي سگهي ٿو sed '/' $ 1 '/ d' پر توهان کي ٻيهر پڪ ٿيڻو پوندو.

        1.    ليڪڪ هيڪر ايمو چيو

          پوءِ ان کي بچايو ختم ڪريو * .odt ۾

          ڇا هتي ليبر آفيس سان گڏ ان جو آسان رستو نه آهي؟

  6.   لوولو چيو

    ڇا توھان ھڪڙي لڪير جو حصو ختم ڪري ڇڏيو ۽ باقي ڇڏيو؟

    اچو ته چوندا آهيون مان هڪ لفظ جي سامهون هر شي کي هڪ خاص قطار ۾ خارج ڪرڻ چاهيان ٿو.

    يا هر شي کي ختم ڪريو جيڪو انهي لفظ جي پيروي ڪري ٿو.

    1.    اڪيڊمي چيو

      ها ، اهو هڪ رججيس ڪ ofڻ وارو معاملو آهي (جيڪڏهن ضروري هجي ماڻهو sed -r ، –regexp-extended)
      جيڪو مون لاتو ان کان شروع ڪيو
      گونج «رابرٽ: هيلو. هتي تبديل ڪريو »| سود / تبديلي // '
      چ definedيءَ ريت بيان ٿيل نموني سان ۽ سان. (هڪ ڪردار) ۽ * (هڪ کان وڌيڪ)
      کان پوء
      گونج «رابرٽ: هيلو. هتي تبديل ڪريو »| سود / تبديلي. * // '
      کان اڳ:
      گونج «رابرٽ: هيلو. هتي تبديل ڪريو »| sed /. * تبديل ڪريو // '
      جيڪڏهن اهو معاملو ٿئي ٿو ته اهو لفظ ظاهر ٿئي ٿو
      گونج «رابرٽ: هيلو. هتي تبديل ڪريو »| سود / تبديلي. * / تبديلي / '
      يا وڌيڪ تفصيلي
      قطار ۾ رابرٽ تي مشتمل آھي جيڪو تبديليءَ کان پوءِ وڃي ٿو
      گونجيو «فريز: هيلو. هتي تبديل ڪريو \ n رابرٽ: هيلو. هتي تبديل ڪريو »| سل '/ روبرٽ / ايس / ڪيبيو.
      يا وانگر شروع ۾ ٻئي لائن ڪ andي ۽ باقي پروسيس ڪري
      گونج «فريز: هيلو. هتي تبديل ڪريو \ n رابرٽ: هيلو. هتي تبديل ڪريو \ n ٻيا »| sed -e 2d -e / تبديلي. * // '
      گونج «فريز: هيلو. هتي تبديل ڪريو \ n رابرٽ: هيلو. هتي تبديل ڪريو \ n ٻيا »| sed '2d ؛ s / تبديلي. * //'

      1.    لوولو چيو

        مهرباني ، اها منهنجي لاءِ تمام مفيد آهي.

  7.   msx چيو

    سٺو مضمون ، انهن مان هڪڙو مون کي ، ڪيترو عظيم سيس ايڊمن!
    ڇا به اسان جي زندگي سوين ، بڪ ، پرل ، گرپ ، دم ، سر ، ”ايماس“ ۽ ٻيا ڪيترائي ضروري اوزار کانسواءِ نه هوندي!

  8.   ليسبيٿ اولارِفس چيو

    مهرباني ، اهو تمام مددگار هو.

  9.   پَرني چيو

    هيلو ، ۽ توهان هڪ ئي حڪم ۾ فائل مان 1,4،10 ۽ XNUMX کي ڪئين لڪائي سگهو ٿا؟