fork download
  1. #!/bin/bash
  2. s='/*some comment*/
  3. void something_patternWord1()
  4. {
  5. some_code;
  6. some_code;
  7. some_code_patternWord3;
  8. some_code;
  9. }
  10. /*some comment patternWord2'
  11.  
  12. sed --posix -e '/patternWord1/,/patternWord2/{/patternWord3/i\
  13. new_line_of_some_code;
  14. }' <<< "$s"
  15. echo "===================";
  16. sed --posix -e '/patternWord1/,/patternWord2/{/patternWord3/i \ \ \ new_line_of_some_code;' -e '}' <<< "$s"
Success #stdin #stdout 0s 4512KB
stdin
Standard input is empty
stdout
/*some comment*/
void something_patternWord1()
{
   some_code;
   some_code;
   new_line_of_some_code;
   some_code_patternWord3;
   some_code;
}
/*some comment patternWord2
===================
/*some comment*/
void something_patternWord1()
{
   some_code;
   some_code;
   new_line_of_some_code;
   some_code_patternWord3;
   some_code;
}
/*some comment patternWord2