find命令
find命令的作用是根据文件的名称或者属性查找文件。
语法格式:
find [查找范围] [参数]
参数:
- -name:按照文件的名字查找文件(可使用通配符*)
- -iname:按照文件的名字查找文件(忽略大小写)
- -size:按照文件的大小查询文件
- :查找大于输入的大小的文件
- -:查找小于输入的大小的文件
- 无符号:查找等于输入的大小的文件
- -mtime:按修改时间去查询
- n:表示查找n天以前的文件(不加符号默认为 )
- -n:表示查找n天以内的文件
- -atime:按照访问时间查找
- n:表示查找n天以前的文件(不加符号默认为 )
- -n:表示查找n天以内的文件
- -ctime:按照属性修改时间查找
- n:表示查找n天以前的文件(不加符号默认为 )
- -n:表示查找n天以内的文件
- -user:按照用户的属主查询
- -group:按照用户的属组查询
- -type:按文件的类型查询
- -prem:按照文件的权限查询
- -inum:根据index node号码查询
- -a:并且(可以省略)
- -o:或者
- -maxdepth:查询的目录深度(必须放在第一个参数位)
- -exec:将find处理好的结果交给其他命令继续处理
grep命令
grep命令使linux三剑客之一,作用是根据文本内容过滤文件。
语法格式:
grep [参数] [匹配规则] [操作对象]
参数:
- -n:过滤文本时显示过滤内容在文件内的行号
- -A:匹配成功后同时显示匹配行的后n行
- -B:匹配成功后同时显示匹配行的前n行
- -C:匹配成功后同时显示匹配行的前后n行
- -c:只显示匹配成功的行数
- -o:只显示匹配成功的内容
- -v:反向过滤
- -q:静默输出
- -i:忽略大小写
- -l:匹配成功后打印文件的名称
- -R|-r:递归匹配
- -E:使用拓展正则,等价于egrep
xargs命令
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs 擅长将标准输入数据转换成命令行的参数。
xargs可以读取标准输入和管道中的数据,用于弥补有些命令(如echo、kill、rm、mkdir,ls)不能从管道中读取数据的不足;
创建测试文件例子:
test0/test0.log和test1/test1.log中分别为11 22 33 三个数字;
查找
查找文本中的11
:
grep -R "11"
查找文本中的11和33
:
grep -E "11|33" test0.log
或者
egrep "11|33" test0.log
查找当前路径下.log文件:
find . -name "*.log"
find与grep的配合使用:
查找当前路径下.log文件中包含11的文件:
- -maxdepth:查询的目录深度;
- |:管道符,表示将前一个命令的结果交给之后的命令处理;
find . -maxdepth 2 -name *.log | xargs grep "11"
查找当前路径下.log文件中包含11和22的文件:
find . -maxdepth 2 -name *.log | xargs egrep "11|22"
或者
find . -maxdepth 2 -name *.log | xargs grep -E "11|22"
替换
find与sed的配合使用:
替换当前路径下.log文件中的22,替换为55:
find . -maxdepth 2 -name *.log | xargs sed -i 's/22/55/g'
删除
find与rm的配合使用:
使用find查找并删除:
find . -maxdepth 2 -name *.sv | xargs rm
结语
find,grep,sed,xargs等更多功能,可自行查阅。
往期推荐
SoC设计之总线接口
SoC设计之低功耗
Perl在IC中的应用
EDA教程
芯片设计
UVM芯片验证
FPGA系列
vivado进阶
Formal验证
数字C笔试
数字IC面经
优秀IC/FPGA开源项目
综合与时序分析
课程推荐
声明:未经授权,禁止转载