Notification texts go here Contact Us Buy Now!

sed: insert a line in a certain position

Insert a Line in a Certain Position

With sed, you can easily insert a line in a certain position within a file. Here are a few examples:

      <p>So for the start, we have a file with the following lines, called datafile.txt</p>

      <pre>1 some test lines here
      but not all lines contain nubers
      3 and here is the last one
      </pre>

      <p>and we have one bash variable $ADDED with the line content what want add</p>

      <pre>ADDED="==This is the new line=="
      </pre>
      

Add Line After the First Line

      ADDED="==This is the new line=="
      < datafile.txt sed "1a \\
      $ADDED
      "
      

Result:

      1 some test lines here
      ==This is the new line==
      but not all lines contain nubers
      3 and here is the last line
      

Add Line After All Lines That Start with a Number

      < datafile.txt sed "/^[0-9]/a \\
      $ADDED
      "
      

Result:

      1 some test lines here
      ==This is the new line==
      but not all lines contain nubers
      3 and here is the last line
      ==This is the new line==
      

Add Line to the Start (Before the First Line)

      < datafile.txt sed "1i \\
      $ADDED
      "
      

Result:

      ==This is the new line==
      1 some test lines here
      but not all lines contain nubers
      3 and here is the last line
      

Substitute the End of the Line for Adding a New One

      < datafile.txt sed "/all/s/$/\\
      $ADDED/"
      

Result:

      1 some test lines here
      but not all lines contain nubers
      ==This is the new line==
      3 and here is the last line
      

Split Line and Add Between

      < datafile.txt sed "/all/s/\(.*lines \)\(.*\)/\1\\
      $ADDED\\
      \2/"
      

Result:

      1 some test lines here
      but not all lines 
      ==This is the new line==
      contain nubers
      3 and here is the last line
      

Note: It's important to distinguish between parsing and matching when working with HTML files. Parsing involves breaking down the HTML structure into its components, while matching involves finding specific patterns within the HTML code. Regular expressions can be useful for matching certain parts of HTML files, but they are not suitable for parsing the entire HTML structure.

Example: If you have an HTML table with a well-defined structure, you can use sed to insert a new row after a specific row.

      <your_file.html sed "/^<tr><th>/a \\
      <tr><td>new Row:1 Cell:1</td><td>Row:1 Cell:2</td><td>Row:1 Cell:3</td><td>Row:1 Cell:4</td>
      "
      

Result:

      <table id="tfhover" class="tftable" border="1">
      <tr><th>HEADER1</th><th>HEADER2</th><th>HEADER3</th><th>HEADER4</th></tr>
      <tr><td>new Row:1 Cell:1</td><td>Row:1 Cell:2</td><td>Row:1 Cell:3</td><td>Row:1 Cell:4</td>
      <tr><td>Row:1 Cell:1</td><td>Row:1 Cell:2</td><td>Row:1 Cell:3</td><td>Row:1 Cell:4</td></tr>
      </table>
      

Post a Comment

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.