fork download
  1. #!/bin/bash
  2.  
  3. test_cases=("keyword ABC;
  4. keyword ABC.DEF;
  5. keyword ABC.GHI;
  6. keyword ABC.JKL.MNO;
  7. keyword ZYX;
  8. keyword ZYX.RST;
  9. keyword ZYX.WVU;"
  10.  
  11. "keyword ABC;
  12. keyword ABC.DEF;
  13. keyword ABC.GHI;
  14. keyword ABC.JKL.MNO;"
  15.  
  16. "keyword ZYX;
  17. keyword ZYX.RST;
  18. keyword ZYX.WVU;")
  19.  
  20. for test_case in "${test_cases[@]}"; do
  21. echo "---"
  22. sed -zE 's/(keyword ABC[^\n]*\n)(keyword ZYX)/\1\n\2/' <<<"$test_case"
  23. echo "---"
  24. done
  25.  
  26.  
Success #stdin #stdout 0s 19632KB
stdin
Standard input is empty
stdout
---
keyword ABC;
keyword ABC.DEF;
keyword ABC.GHI;
keyword ABC.JKL.MNO;

keyword ZYX;
keyword ZYX.RST;
keyword ZYX.WVU;
---
---
keyword ABC;
keyword ABC.DEF;
keyword ABC.GHI;
keyword ABC.JKL.MNO;
---
---
keyword ZYX;
keyword ZYX.RST;
keyword ZYX.WVU;
---