如何比较两个文件中的函数列表?

如何比较两个文件中的函数列表?

我想列出我拥有的 2 个文件中的所有功能,因此我使用:

cat <file_A> | grep -E "^function"
cat <file_B> | grep -E "^function"

我如何比较输出并突出相似之处?

答案1

这里有两个选择:

  • 如果你需要 GUI 解决方案 - 那么你可以使用Meld 合并工具

    sudo apt install meld
    
    meld <(grep -E "^function" file_A) <(grep -E "^function" file_B)
    
  • 如果你需要终端解决方案-使用 diff 的力量:

    diff <(grep -E "^function" file_A) <(grep -E "^function" file_B)
    

答案2

您可以使用流程替代以这种方式实现功能:

diff <(cat <file_A> | grep -E "^function") <(cat <file_B> | grep -E "^function") 

在这种情况下,您不需要使用cat。此外,还有一个很好的包装器,diff称为colordiff(必须安装:)sudo apt install colordiff。这是我最喜欢的用法之一:

colordiff --side-by-side --left-column --width=180 --show-C-function <(grep -E "^function" <file_A>) <(grep -E "^function" <file_B>) 

相关内容