在cygwin中使用sed删除javascript原型
如何从下面的代码中删除listInfo原型和logInfo对象 我的问题是listInfo原型,我似乎找不到一种方法来删除结束括号。其他所有东西都很容易找到和移除在cygwin中使用sed删除javascript原型,javascript,regex,sed,cygwin,Javascript,Regex,Sed,Cygwin,如何从下面的代码中删除listInfo原型和logInfo对象 我的问题是listInfo原型,我似乎找不到一种方法来删除结束括号。其他所有东西都很容易找到和移除 var ePlug = (function (undefined) { var logInfo, logErrors, logWarnings, hasError, version; function ePlug(options) { this.version = "0.1 Alpha";
var ePlug = (function (undefined) {
var logInfo, logErrors, logWarnings, hasError, version;
function ePlug(options) {
this.version = "0.1 Alpha";
this.logInfo = [];
this.logErrors = [];
this.logWarnings = [];
this.logInfo.push('Setting options start.');
options = options || {};
this.validate(options.one, 'string', 'one provided is not valid.');
this.validate(options.two, 'boolean', 'two provided is not valid.');
if(this.hasError !== true) {
options.one = typeof options.one === 'string' ? options.one : 'string';
options.two = typeof options.two === 'boolean' ? options.two : true;
this.logInfo.push('Setting options end.');
this.options = options;
}
else {
this.logErrors.push('Setting options error.');
}
}
ePlug.prototype.listInfo = function () {
return this.logg(this.logInfo);
};
ePlug.prototype.listErrors = function () {
return this.logg(this.logErrors);
};
ePlug.prototype.listWarnings = function () {
return this.logg(this.logWarnings);
};
ePlug.prototype.logg = function (what) {
if(typeof window.console === 'undefined') {
alert(what);
}
else {
console.log(what);
}
};
ePlug.prototype.init = function () {
if(this.hasError !== true) {
// start here
}
};
return ePlug;
})();
var eOpt = (function () {
function options() { return {}; }
return options;
})();
eOpt.one = 'test';
eOpt.two = false;
var ePlug = new ePlug(eOpt);
ePlug.init();
我希望能够删除下面的代码
ePlug.prototype.listInfo = function () {
return this.logg(this.logInfo);
};
到目前为止,我只能删除前两行
我不知道如何删除最后一行代码>GNU的代码:
$cat文件
var ePlug=(函数(未定义){
var logInfo、logErrors、logWarnings、hasrerror、version;
功能电子插头(选件){
this.version=“0.1 Alpha”;
this.logInfo=[];
this.logErrors=[];
this.logWarnings=[];
this.logInfo.push('设置选项开始');
选项=选项| |{};
this.validate(options.one,‘string’,‘提供的一个无效’);
this.validate(options.two,‘boolean’,‘提供的两个无效’);
if(this.hasError!==true){
options.one=typeof options.one=='string'?options.one:'string';
options.two=typeof options.two==“boolean”?options.two:true;
this.logInfo.push('设置选项结束');
this.options=选项;
}
否则{
this.logErrors.push('设置选项错误');
}
}
ePlug.prototype.listInfo=函数(){
返回this.logg(this.logInfo);
};
ePlug.prototype.listErrors=函数(){
返回this.logg(this.logErrors);
};
ePlug.prototype.listWarnings=函数(){
返回this.logg(this.logWarnings);
};
ePlug.prototype.logg=函数(什么){
if(typeof window.console==“未定义”){
警惕(什么);
}
否则{
console.log(什么);
}
};
ePlug.prototype.init=函数(){
if(this.hasError!==true){
//从这里开始
}
};
回流塞;
})();
var eOpt=(函数(){
函数选项(){return{};}
返回选项;
})();
eOpt.one=‘测试’;
eOpt.2=假;
var ePlug=新ePlug(eOpt);
ePlug.init();
$sed'/ePlug.prototype.listInfo=function(){/,/}/d'文件
var ePlug=(函数(未定义){
var logInfo、logErrors、logWarnings、hasrerror、version;
功能电子插头(选件){
this.version=“0.1 Alpha”;
this.logInfo=[];
this.logErrors=[];
this.logWarnings=[];
this.logInfo.push('设置选项开始');
选项=选项| |{};
this.validate(options.one,‘string’,‘提供的一个无效’);
this.validate(options.two,‘boolean’,‘提供的两个无效’);
if(this.hasError!==true){
options.one=typeof options.one=='string'?options.one:'string';
options.two=typeof options.two==“boolean”?options.two:true;
this.logInfo.push('设置选项结束');
this.options=选项;
}
否则{
this.logErrors.push('设置选项错误');
}
}
ePlug.prototype.listErrors=函数(){
返回this.logg(this.logErrors);
};
ePlug.prototype.listWarnings=函数(){
返回this.logg(this.logWarnings);
};
ePlug.prototype.logg=函数(什么){
if(typeof window.console==“未定义”){
警惕(什么);
}
否则{
console.log(什么);
}
};
ePlug.prototype.init=函数(){
if(this.hasError!==true){
//从这里开始
}
};
回流塞;
})();
var eOpt=(函数(){
函数选项(){return{};}
返回选项;
})();
eOpt.one=‘测试’;
eOpt.2=假;
var ePlug=新ePlug(eOpt);
ePlug.init();
花括号{}
在BRE中不是特殊字符。我不知道您要删除什么。你试过什么?我在问题后面加了更多的信息。我没有尝试过任何东西,因为我找不到任何关于如何通过引用前一行内容来删除该行的文档。考虑到这一行已经被删除了。如果你想考虑嵌套的括号,这可能是非常困难的(如果不是不可能的话)…我设法清除了所有东西,除了那一点。cygwin中是否有其他实用程序可以实现这一点?
sed '/ePlug.prototype.listInfo = function () {/, /};/d' file
$cat file
var ePlug = (function (undefined) {
var logInfo, logErrors, logWarnings, hasError, version;
function ePlug(options) {
this.version = "0.1 Alpha";
this.logInfo = [];
this.logErrors = [];
this.logWarnings = [];
this.logInfo.push('Setting options start.');
options = options || {};
this.validate(options.one, 'string', 'one provided is not valid.');
this.validate(options.two, 'boolean', 'two provided is not valid.');
if(this.hasError !== true) {
options.one = typeof options.one === 'string' ? options.one : 'string';
options.two = typeof options.two === 'boolean' ? options.two : true;
this.logInfo.push('Setting options end.');
this.options = options;
}
else {
this.logErrors.push('Setting options error.');
}
}
ePlug.prototype.listInfo = function () {
return this.logg(this.logInfo);
};
ePlug.prototype.listErrors = function () {
return this.logg(this.logErrors);
};
ePlug.prototype.listWarnings = function () {
return this.logg(this.logWarnings);
};
ePlug.prototype.logg = function (what) {
if(typeof window.console === 'undefined') {
alert(what);
}
else {
console.log(what);
}
};
ePlug.prototype.init = function () {
if(this.hasError !== true) {
// start here
}
};
return ePlug;
})();
var eOpt = (function () {
function options() { return {}; }
return options;
})();
eOpt.one = 'test';
eOpt.two = false;
var ePlug = new ePlug(eOpt);
ePlug.init();
$sed '/ePlug.prototype.listInfo = function () {/, /};/d' file
var ePlug = (function (undefined) {
var logInfo, logErrors, logWarnings, hasError, version;
function ePlug(options) {
this.version = "0.1 Alpha";
this.logInfo = [];
this.logErrors = [];
this.logWarnings = [];
this.logInfo.push('Setting options start.');
options = options || {};
this.validate(options.one, 'string', 'one provided is not valid.');
this.validate(options.two, 'boolean', 'two provided is not valid.');
if(this.hasError !== true) {
options.one = typeof options.one === 'string' ? options.one : 'string';
options.two = typeof options.two === 'boolean' ? options.two : true;
this.logInfo.push('Setting options end.');
this.options = options;
}
else {
this.logErrors.push('Setting options error.');
}
}
ePlug.prototype.listErrors = function () {
return this.logg(this.logErrors);
};
ePlug.prototype.listWarnings = function () {
return this.logg(this.logWarnings);
};
ePlug.prototype.logg = function (what) {
if(typeof window.console === 'undefined') {
alert(what);
}
else {
console.log(what);
}
};
ePlug.prototype.init = function () {
if(this.hasError !== true) {
// start here
}
};
return ePlug;
})();
var eOpt = (function () {
function options() { return {}; }
return options;
})();
eOpt.one = 'test';
eOpt.two = false;
var ePlug = new ePlug(eOpt);
ePlug.init();