如何使用SED在文本文档中进行搜索和替换?

时间:2011-08-13 17:45:29

标签: regex sed

我有一个R统计软件包的脚本,我正在尝试使用SED进行修改。现在,它看起来像这样:

foo = [something unimportant]
summary(foo)

我希望它看起来像:

foo=[something unimportant]
print('foo')
summary(foo)

我试过了:

sed 's/summary\((.+)\)/print\(\'\1\'\)\nsummary\(\1\)/' <infile.txt >outfile.txt 

但这似乎不起作用。我觉得我的正则表达式缺乏。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

我认为你正在寻找sed "s/summary(\(.*\))/print('\1')\n\0/" ...。 Sed使用posix正则表达式,其中(和)不是特殊字符。相反,组由\(\)分隔。

输入:

foo = [something unimportant]
summary(foo)

输出:

foo = [something unimportant]
print('foo')
summary(foo)