【问题标题】:Parsing functions from BASHRC从 BASHRC 解析函数
【发布时间】:2016-03-27 15:12:44
【问题描述】:

我正在使用 BASHRC 来存储我的很多日常工作,加班时它变得杂乱无章,现在有一些重复。 想知道 SED\AWK\grep 是否有办法将所有函数解析为数组,然后删除重复项。

重复的 bashrc 示例:

  function action1(){
    /usr/bin/operate $1
    }
   function action2(){
    /usr/bin/perform $1 $2
    }
   function action1(){
    /usr/bin/operate $1
    }

谢谢,

罗伊

【问题讨论】:

  • 这里的重复是什么意思?仅仅是两个函数具有相同的名称?两个同名但做不同事情的函数呢?两个具有不同名称但做同样事情的函数呢?那些做同样事情但方式不同的函数呢?查找重复的函数名称很容易。之后的任何事情都可能有些雄心勃勃。
  • function 关键字对这种特殊情况很有帮助,但不便携,因此相当无用。即使不使用显式关键字,通用解决方案也应该有效。

标签: linux bash awk sed grep


【解决方案1】:

如果这真的是您的输入文件的样子,那么您只需要:

$ awk '$1=="function"{unq=!seen[$2]++} unq' file
  function action1(){
    /usr/bin/operate $1
    }
   function action2(){
    /usr/bin/perform $1 $2
    }

如果不是,请编辑您的问题以提供一些真正具有代表性的示例输入和预期输出。

【讨论】:

  • 匠心独运,先生
猜你喜欢
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 2014-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多