সেড ব্যবহার করে কোনও ফাইল থেকে নির্দিষ্ট লাইনগুলি কীভাবে মুছবেন

নির্দিষ্ট সময়ে আমাদের কোনও ফাইল বা কয়েকটি থেকে একটি নির্দিষ্ট লাইন মুছতে হবে, উদাহরণস্বরূপ, আমার সাথে এমনটি ঘটেছিল যে আমার কাছে ফাইলগুলির একটি সম্পূর্ণ তালিকা ছিল এবং আমাকে এই সমস্তের লাইন # 27 মুছতে হবে (লাইন # 27 একটি এসিএল এর , আদর্শ, নিয়ম, কনফিগারেশন), আমি হয় ফাইল দ্বারা ফাইল সম্পাদনা করতে পারি বা কমান্ডটি ব্যবহার করে আমার যা প্রয়োজন তা অর্জন করতে পারি কিন্তু এবং একটি বাশ স্ক্রিপ্ট (alচ্ছিক)।

তবে, আসুন একক ফাইল কিছুটা সহজ চেষ্টা করে দেখি।

আমাদের কাছে ফাইল আছে distros-deb.txt যা এতে রয়েছে:

ডেবিয়ান

কুবুন্টু

archlinux

দ্রাবক

পুদিনা

অন্য কথায়, ফাইল 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 এর সঠিক পরামিতি ব্যবহার করে কিন্তু, প্যারামিটার -i

এটি হ'ল আমরা যদি ফাইলটি থেকে লাইনটি সরিয়ে একই নাম (এবং অন্য কোনও ফাইলে নয়) দিয়ে সংরক্ষণ করতে চাই, কেবল পরামিতি যুক্ত করুন -i :

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

এটি distros-deb.txt থেকে # 3 লাইনটি সরিয়ে এটি সংরক্ষণ করবে।

আমি যদি লাইনগুলির একটি পরিসীমা চাই, তবে এটি লাইন # 3 অপসারণ করতে হবে তবে # 4 এবং # 5? এটি অর্জনের জন্য আমরা 3 থেকে 5 পর্যন্ত ব্যাপ্তি রেখেছি:

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

এবং এটি আমাকে কেবল ডেবিয়ান এবং কুবুন্টু দেখিয়ে দেবে 😀

সুতরাং যদি আমি লাইন 2 থেকে শেষেরটি মুছতে চাই, যখন আমি মোট লাইনগুলি জানি না?

কেবল ডলার প্রতীক - »use ব্যবহার করুন $

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

আপনি যদি প্রথম লাইন থেকে # 4 এ মুছে ফেলতে চান তবে আমরা শুরুতে কেবল মানটি 1 রেখে দেব:

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

আপনি যখন কাজগুলি স্বয়ংক্রিয় করতে বাশ স্ক্রিপ্টগুলি তৈরি করতে চান এবং আপনাকে কনফিগারেশন ফাইলগুলির লাইনগুলি সংশোধন করা এবং অপসারণ করতে হবে, আমরা ব্যবহার করতে পারি সেই সংশোধন করার জন্য এটি সবই ছিল একটি দরকারী টিপ কিন্তু o Perl, পাশাপাশি নির্মূল করার জন্য আমরা ইতিমধ্যে সেড with দিয়ে এটি কীভাবে করতে হয় তা জানি 😉

শুভেচ্ছা


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।

  1.   এমএসএস-ডেভেল তিনি বলেন

    খুব ভাল অবদান 😉

    1.    কেজেডিজি ^ গারা তিনি বলেন

      ধন্যবাদ

      যাইহোক, আমরা এখনই আপনার ইমেল পেয়েছি আমি আপনাকে উত্তর দেব 😀

      শুভেচ্ছা

  2.   নামহীন তিনি বলেন

    টার্মিনালের প্রধান পুরোহিত হিসাবে, ওহ দুর্দান্ত কেজেডিজি ^ গারা, আমি আপনার কাছে আসছি, সার্ভারস এবং এসএসএস সংযোগগুলি: আমি আমার অজ্ঞতার স্তরে এমন টিউটোরিয়াল পেতে পারি যা আমাকে দুটি দূরবর্তী মেশিনের মধ্যে এসএসএস সংযোগ ব্যবহারের অনুমতি দেয়? বিভিন্ন নেটওয়ার্কে পাঠ্য ফাইল, পিডিএফ, চিত্র এবং শব্দ (এমপি 3) ভাগ করতে…।

    🙂

    মারাত্মকভাবে, আপনি এই বিষয়ে আমাকে গাইড করতে পারেন, আমার দুটি মেশিন রয়েছে, একটি কাজ করে এবং একটি বাড়িতে and
    এবং যদি আমি ভুল হয় তবে আপনি কোন অ্যাপ্লিকেশনটির পরামর্শ দিচ্ছেন?
    এবং আমি এই বিষয়ে একটি প্রাথমিক টিউটোরিয়াল কোথায় পাই?

    1.    -স্পাইকার- তিনি বলেন

      scp।

      scp ব্যবহারকারী @ মেশিন_এড্রেস: পথ ব্যবহারকারী @ মেশিন_ড্রেস: পথ।

      সিপি, উত্স -> গন্তব্য হিসাবে একই বাক্য গঠন।

  3.   f3niX তিনি বলেন

    আপনি মানুষকে দেখিয়েছেন, আপনি হারিয়ে গিয়েছিলেন।

  4.   জোয়াকুইন তিনি বলেন

    ভালো পরামর্শ!

  5.   লাইকাস হ্যাকেরেমো তিনি বলেন

    আকর্ষণীয় টিপ ... এক্সডি

    সুযোগক্রমে আপনি এমন কোনওটি জানেন না যা সাহসী পাঠ্যটি আলাদা করে দেয়?
    আমার অর্থ, আমার কাছে একটি টেক্সট ফাইল রয়েছে যা একটি অভিধান, এটি 10000 টিরও বেশি লাইন আছে এবং আমি এটি ":" সাসপেনশন পয়েন্টগুলির আগে নির্দিষ্ট পাঠ্যকে হাইলাইট করতে চাই এবং এটি একে একে করা খুব বেশি is

    1.    কেজেডিজি ^ গারা তিনি বলেন

      হ্যালো,

      একটি টেক্সট ফাইল হ'ল সরল পাঠ্য, নামটি বোঝা যাচ্ছে ... প্লেইন, বিন্যাস বা অনুরূপ কিছু ছাড়াই, আমি দুঃখিত তবে আমি মনে করি আপনি যা চান তা করা যায় না, তাই না? 🙁

      শুভেচ্ছা

      1.    Aca তিনি বলেন

        আসলে এটি পারে তবে আপনাকে গন্তব্য বিন্যাসটি জানতে হবে।
        PE:
        প্রতিধ্বনি $ (প্রতিধ্বনি "রবার্ট: হ্যালো। এখানে পরিবর্তন করুন" | সেড 's / \ ./। \\ ই [40; 31 মি /; এস / \: /: \\ ই [40; 35 মি /')
        এটা পেয়ে যাওয়ার বিষয়।
        মুছে ফেলার অন্য উপায়টি হ'ল সেড '/' $ 1 '/ d' তবে আপনাকে অবশ্যই নিশ্চিত হতে হবে।

        1.    লাইকাস হ্যাকেরেমো তিনি বলেন

          তারপরে এটি * .odt এ সঞ্চয় করা শেষ করুন

          লিবারঅফিসের সাথে এটি করার সহজ উপায় কি নেই?

  6.   lolo তিনি বলেন

    আপনি কি একটি লাইনের কিছু অংশ মুছে ফেলতে এবং বাকীটি ছেড়ে দিতে পারেন?

    ধরা যাক আমি একটি নির্দিষ্ট সারিতে একটি শব্দের সামনে সবকিছু মুছতে চাই।

    বা এই শব্দটির অনুসরণকারী সমস্ত কিছু মুছুন।

    1.    Aca তিনি বলেন

      হ্যাঁ, এটি একটি রেজেক্সটি টানানোর বিষয় (যদি প্রয়োজনীয় লোক সেড-আর, geরেজ এক্সপ্রেস-এক্সটেন্ডেড) হয়
      আমি যা পাই তা থেকে শুরু করছি
      প্রতিধ্বনি «রবার্ট: হ্যালো এখানে পরিবর্তন করুন »| সেড / চেঞ্জ // '
      একটি ভাল সংজ্ঞায়িত প্যাটার্ন এবং সাথে। (একটি চরিত্র) এবং * (একাধিক)
      তারপর:
      প্রতিধ্বনি «রবার্ট: হ্যালো এখানে পরিবর্তন করুন »| সেড / চেঞ্জ। * // '
      আগে:
      প্রতিধ্বনি «রবার্ট: হ্যালো এখানে পরিবর্তন করুন »| সেড এর /। * পরিবর্তন // '
      যদি বিষয়টি গুরুত্বপূর্ণ হয় তবে শব্দটি উপস্থিত হয়
      প্রতিধ্বনি «রবার্ট: হ্যালো এখানে পরিবর্তন করুন »| সেড / চেঞ্জ। * / পরিবর্তন / '
      বা আরও বিস্তৃত
      রবার্টের লাইনে যা পরিবর্তনের পরে যায় goes
      প্রতিধ্বনি - ফ্রিটজ: হ্যালো এখানে পরিবর্তন করুন ober n রবার্ট: হ্যালো। এখানে পরিবর্তন করুন »| সেড '/ রবার্ট / এস / ক্যাম্বিও।
      অথবা শুরুতে পছন্দ মতো দ্বিতীয় লাইনটি বের করুন এবং বাকী অংশটি প্রক্রিয়া করুন
      প্রতিধ্বনি - ফ্রিটজ: হ্যালো এখানে পরিবর্তন করুন ober n রবার্ট: হ্যালো। এখানে পরিবর্তন করুন \ n অন্য »| sed -e 2d -e 's / চেঞ্জ। * //'
      প্রতিধ্বনি - ফ্রিটজ: হ্যালো এখানে পরিবর্তন করুন ober n রবার্ট: হ্যালো। এখানে পরিবর্তন করুন \ n অন্য »| সেড '2 ডি; এস / চেঞ্জ। * //'

      1.    lolo তিনি বলেন

        আপনাকে ধন্যবাদ, এটা আমার জন্য খুব দরকারী।

  7.   msx তিনি বলেন

    চমৎকার নিবন্ধ, যার মধ্যে আমি পছন্দ করি, সিসএডমিন কত দুর্দান্ত!
    আমাদের জীবন সেড, অবাক, পারল, গ্রেপ, লেজ, মাথা, "ইম্যাকস" এবং আরও অনেক প্রয়োজনীয় সরঞ্জাম ছাড়া কী হত !?

  8.   লিসবেথ ওল্লার্ভস তিনি বলেন

    ধন্যবাদ, এটি খুব সহায়ক ছিল।

  9.   পার্নি তিনি বলেন

    হ্যালো, এবং আপনি কীভাবে কোনও ফাইল থেকে একই কমান্ডের 1,4 এবং 10 টি লাইন মুছতে পারেন?