修改sed命令以捕获子字符串

时间:2018-04-30 14:01:20

标签: regex bash sed grep

我有示例文字:

"are "insulin sensitizers" "

我试图使用下面的命令来查找和替换单引号的xml quote命令,但它只适用于第一个和第二个跟随" sensitizers"保持不变。

命令:

grep -rl """ ./ | xargs sed -i "s/"/'/" 

结果:

"are 'insulin sensitizers" "

期望的结果:

"are 'insulin sensitizers' "

1 个答案:

答案 0 :(得分:0)

您需要在import React, { Component } from 'react'; import { connect } from 'react-redux'; function addData(data) { return { type: "ADD_DATA", data } }; class MainComponent extends Component { handleUpdate = () => { const { dispatch } = this.props; const data = 'hi'; dispatch(addData(data)); } render() { const { store } = this.props; return ( <div> <button onClick={this.handleUpdate}>Click me!</button> <p>{store.state.toString()}</p> </div> ) } } export default connect(store => ({store}), dispatch => ({dispatch}))(MainComponent); 中使用g标记进行全局替换:

sed

另请注意,使用grep -Zirl "&quot;" . | xargs -0 sed -i "s/&quot;/'/g" 中的-Z选项和grep中的-0来处理包含特殊字符和空格的文件。

根据xargs

  

man grep-Z

     

输出零字节(ASCII NUL字符),而不是通常跟随文件名的字符。