前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用find、grep和xargs批量处理文件及文本

利用find、grep和xargs批量处理文件及文本

作者头像
数字芯片社区
发布2022-09-19 11:27:31
2K0
发布2022-09-19 11:27:31
举报
文章被收录于专栏:数字芯片数字芯片

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开源项目

综合与时序分析

课程推荐

声明:未经授权,禁止转载

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字ICer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • find命令
    • 语法格式:
      • 参数:
      • grep命令
        • 语法格式:
          • 参数:
          • xargs命令
          • 查找
          • 替换
          • 删除
          • 结语
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档