我有像&& !this.peekStartsWith('//')
这样的搜索字符串,想用空格替换。 我试过了
sed -i 's/&& !this.peekStartsWith('//')/ /g' dist/vendor.bundle.js
但是,收到这样的错误
bash: !this.peekStartsWith: 找不到事件
任何人都可以帮助解决这个问题吗?
我可以重现错误。您需要首先按如下方式设置!
,因为您在sed
命令中的文本中sed
,导致此错误。
set +o history
现在,当您按如下方式运行history
命令时,它运行良好。
echo "test && !this.peekStartsWith('//') bla" | sed "s|&& !this.peekStartsWith('//')||g"
test bla
要重新开始!
您可以使用:
set -o history
我只有在逃脱CC_8时才能让它工作
sed "s|&& !this.peekStartsWith('//')| |g" file
示例文件
cat file
some data&& !this.peekStartsWith('//')more data
测试
sed "s|&& !this.peekStartsWith('//')||g" file
some datamore data
sed "s|&& !this.peekStartsWith('//')| |g" file
some data more data
sed "s|&& !this.peekStartsWith('//')|***|g" file
some data***more data