当前位置: 首页 > article >正文

Linux 批量查找与替换的常用命令

目录

    • 1. 批量查找
      • 1.1 按照文件类型查找
      • 1.2 按照文件内容查找
    • 2. 批量替换

服务器上一个很实用的功能就是批量查找与替换了,在需要找什么文件或者内容的时候就可以一键查找,一键替换了

1. 批量查找

查找分为两种,第一种是查找文件类型,第二种是查找文件内容

1.1 按照文件类型查找

第一个命令是比较常用的

  • 查找 /home/worker 目录及其子目录下的所有以 .log 结尾的文件,不包括目录, -type 表示文件类型 f 表示普通文件
find /home/worker -type f -name "*.log"
  • 查找 /home/worker目录及其子目录下所有 log.txt 的文件和目录
find /home/worker -name "log.txt"
  • 查找 /home/worker 目录及其子目录下所有 log.txt 的文件和目录和以 .pdf 结尾的文件和目录,-o 代表或者的意思
find /home/worker -name "log.txt" -o -name "*.pdf"
  • 查找 /home/worker 目录及其子目录下的所有以 .txt 结尾文件,忽略大小写,-i 表示忽略大小写
find /home/worker -iname "*.txt"
  • 查找 /home/worker 目录及其子目录下最近7天内修改过的文件
find /home/worker -mtime -7
  • 查找 /home/worker 目录及其子目录下文件大于 10M 的文件
find /home/worker -size +10M

1.2 按照文件内容查找

第一个命令是比较常用的

  • 查找 /data/dev 目录下拓展名为 .txt 文件中包含单词 "example" 的文件
  • 这个是批量查找最快的命令,比单独使用 grep 命令快,因为find命令查找起来很快并且会过滤掉很多文件

find /data/dev -type f -name "*.txt" -exec grep "example" {} +;
  • 在当前目录的 config 文件夹下的文件中查找包含 "hello" 的行
grep "hello" ./config/*
  • file.txt 文件中查找包含 "hello""Hello" 的行,-i 表示忽略大小写
grep -i "hello" file.txt
  • /home 目录及其子目录下的所有文件中查找包含 "hello" 的行,-r 表示递归查找
grep -r "hello" /home
  • file.txt 文件中查找包含 "hello" 的行,并显示行号,-n 表示显示行号
grep -n "hello" file.txt
  • file.txt 文件中查找包含 "hello" 的整个单词的行,-w 表示整个字符匹配,比如某个文件中的文件内容是 testaa 就匹配不出来
grep -w "hello" file.txt
  • config 文件夹中查找包含 "hello" 的文件, -l 表示只显示文件
grep -l "hello" ./config/*

2. 批量替换

第二个命令是比较常用的

  • test.log 文件中的所有 aadd 替换成 ccdd
sed -i 's#aabb#ccdd#g' test.log
  • /data/dev 目录及其子目录下所有拓展名为 .txt 文件中整个单词为 apple 替换为 orange,比如某个文件中的文件内容是:testapple 就不会被替换
find /home/temp -type f "*.txt" -exec sed -i 's#apple#orange#g' {} +;
  • 第二种写法
find /data/dev -type f -name "*.txt" -exec sed -i 's/apple/orange/g' {} +;

http://www.kler.cn/a/449836.html

相关文章:

  • 【魅力golang】之-通道
  • git命令恢复/还原某个文件、删除远程仓库中的文件
  • Linux中Mysql5.7主从架构(一主多从)配置教程
  • 未来将要被淘汰的编程语言
  • Kali操作系统简单介绍
  • 人工智能在VR展览中扮演什么角色?
  • C++中的字符串实现
  • ACl访问控制列表
  • 高校就业管理:系统设计与实现的全流程分析
  • 如何写好一份科技报告
  • Textual Dataset Distillation via Language Model Embedding
  • 计算机视觉技术未来发展趋势:创新与变革共舞
  • MHA binlog server
  • 代码随想录day22 | 回溯算法理论基础 leetcode 77.组合 77.组合 加剪枝操作 216.组合总和III 17.电话号码的字母组合
  • 【蓝碳】基于GEE云计算、多源遥感、高光谱遥感技术、InVEST模型、PLUS模型的蓝碳储量估算;红树林植被指数计算及提取
  • vue中的css深度选择器v-deep 配合!important
  • 【MySQL】MySQL 官方安装包形式
  • 日志以及MVCC
  • Linux(Ubuntu)命令大全——已分类整理,学习、查看更加方便直观!(2024年最新编制)
  • Linux Shell 脚本编程基础知识篇—shell 运算命令详解
  • Vue2四、 scoped样式冲突,data是一个函数,组件通信-父传子-子传父-非父子
  • 每天学习一个思维模型 - 直觉
  • 什么是根服务器?有什么作用?
  • 搜索引擎蜘蛛池的原理是什么,蜘蛛池搭建教程(蜘蛛池.中国)
  • 运维工程师面试系统监控与优化自动化与脚本云计算的理解虚拟化技术的优点和缺点
  • docker 安装openresty