I want to inject a sed call in following string from a minified .js file
\n\ttar -xf abc.tar.gz\n\tTAR_EXIT
Right before the \n\tTAR_EXIT I want to inject:
\n\tsed -i 's/if(this._eService.isBuilt)/if(!this._eService.isBuilt)/' abc*/out/logs/main/server.main.js
So the final result looks like
\n\ttar -xf abc.tar.gz\n\tsed -i 's/if(this._eService.isBuilt)/if(!this._eService.isBuilt)/' abc*/out/logs/main/server.main.js\n\tTAR_EXIT
I am on zsh but I can switch to bash as well.
This string is a part of a complete bash script enclosed inside a 1-line javascript file that is fetched from the web, which is why I am looking at using sed to replace the characters.
I have already looked into various posts here regarding mass-escape of regex characters This one so far has come close but the string is still not being matched by sed
The baseline for what I want to achieve looks like this in bash:
sed -i "s|\n\ttar -xf abc.tar.gz\n\tTAR_EXIT|\n\ttar -xf abc.tar.gz\n\tsed -i 's/if(this._eService.isBuilt)/if(!this._eService.isBuilt)/' abc*/out/logs/main/server.main.js\n\tTAR_EXIT|g"
Here I have used | as the delimiter.
I even disabled the history operation using set +H to escape the !'s but this is not enough.
