删除bashrc中的第一个定义的函数

时间:2015-06-20 07:27:23

标签: ubuntu-12.04

我有一个包含以下内容的文件:

...
function myfunction(){
                            content
    }
...
function myfunction(){
                            content2
    }
...

如何为每个此类复制功能自动删除第一次出现的myfunction?

1 个答案:

答案 0 :(得分:0)

您可以使用sed删除本地.bashrc函数。

例如,删除 func1() func2(),并保留.bashrc的备份:

sed -i.bak -e '/^func1 (/,/}$/d' -e '/^func2 (/,/}$/d' ~/.bashrc

请注意,它将删除包含{...}块的简单函数。如果您有内部{...}块,请相应地扩展regexp。