1、当前目录查找内容
在linux系统中,使用find、xargs以及grep可以在当前目录下查找所有文件内容。
如查找当前目录是下代码中使用syn_bus模块,
find . |xargs grep -r -B 1 -A 6 -n “syn_bus” | grep -v “.svn” ../syn_bus.log
查找使用syn_bus的代码的使用情况,写入文件syn_bus.log中。
find . | xargs grep表示将find查找到的每个文件作为grep的标准输入,执行多次grep。
如果find找到了a、b、c三个文件,其实相关于执行3次grep, grep a、grep b、grep c。
grep -r表示对目录的每个文件都执行
grep -n 表示显示行信息
grep -B 1 表示显示查找到syn_bus的上一行
grep -A 6 表示显示查找syn_bus的下6行
grep -v “.svn” 表示将含有.svn的信息过滤掉
2、在所有的.v文件中查找宏定义
[gezi@asic-dev-idc pcie]$ find -name "*.v" | xargs grep -ri "FOR_FPGA"
./sep/ttc/rtl/ttc_top.v:`ifdef RTL_FOR_FPGA
在当前目录下所有的Verilog文件中查找宏定义FOR_FPGA。