查找

find [路径] <表达式>
查找文件
-name <表达式> 根据文件名查找文件
-iname <表达式> 根据文件名查找文件,忽略大小写
-path <表达式> 根据路径查找文件
-ipath <表达式> 根据路径查找文件,忽略大小写
-amin <分钟> 过去N分钟内访问过的文件
-atime <天数> 过去N天内访问过的文件
-cmin <分钟> 过去N分钟内修改过的文件
-ctime <天数> 过去N天内修改过的文件
-anewer <参照文件> 比参照文件更晚被读取过的文件
-cnewer <参照文件> 比参照文件更晚被修改过的文件
-size <大小> 根据文件大小查找文件,单位b c w k M G
-type <文件类型> 根据文件类型查找文件。b 块设备 c 字符设备 d 目录 p 管道文件 f 普通文件 l 链接 s 端口文件
-user <用户名> 按归属用户查找文件
-uid <uid> 按UID查找文件
-group <群组名> 按归属群组查找文件
-gid <gid> 按GID查找文件
-empty 查找空文件

从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名

从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名

查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名

查找匹配的行数:
$ grep -c "被查找的字符串" 文件名

从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名

从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行

find / -type f -name "*.log" | xargs grep "ERROR"

系统查找到httpd.conf文件后即时在屏幕上显示httpd.conf文件信息。 
find/-name"httpd.conf"-ls

在根目录下查找某个文件
find . -name "test"

在某个目录下查找包含某个字符串的文件

grep -r "zh_CN" ./

查找替换

批量查找并替换文件内容。

#   sed -i "s/要找查找的文本/替换后的文本/g" `grep -rl "要找查找的文本" ./`

对于单个文件,使用sed命令很容易做到。如果需要替换某个指定文件夹下所有文件,借助grep和sed组合成一条命令也可以轻松搞定。

grep命令可以查找单个文件或文件夹下文件中的内容,使用参数“r”或“-R”可以递归查找指定文件夹下的所有文件;

参数“l”可以让grep输出包含指定字符串的文件名,首次匹配成功后立刻停止对同文件的查询。

如果不使用“l“,grep查询单个文件时输出文件中所有包含指定字符串的行,对文件夹查询时则按照“文件名:包含字符串行”的方式输出。

有了上面提到的知识,执行批量替换的命令可以写为:

grep "netingcn" -rl /assign-path | xargs sed -i 's/netingcn/ingcn/g'

sed -i 's/netingcn/ingcn/g' `grep "netingcn" -rl /assign-path`

还有一种比较复杂的写法:

grep "netingcn" * -R | awk -F: '{print $1}'  | sort | uniq | xargs sed -i 's/netingcn/ingcn/g'

其中命令awk用于分割字符串、uniq对结果进行除重。

格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`

将当前目录下的所有文件内的“garden”替换成“mirGarden” 
 sed -i "s/garden/mirGarden/g" `ls` //其实也就是ls出多个文件名而已

比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`
解释一下:
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名


删除  rm + find

find PATH -name REGX | xargs rm -rf

转载于:https://www.cnblogs.com/conncui/p/linuxshell.html

linux 查找替换相关推荐

  1. linux里面查找替换命令,LINUX 查找替换命令 总结

    find /var/ -name "*.php" > /home/tmp 在/var/目录下查找 所有以.php后缀结尾的文件  结果很多,就 > 输出结果到/home ...

  2. linux查找替换grep以及正则表达式

    grep   文本内容过滤的命令   grep [option] 'pattern' file               grep,egrep,fgrep              模式,正则表达式 ...

  3. linux 文件转换ascii,linux 小技巧(查找替换文件中的ascii编码字符)

    这里纪录一些linux下用到的小技巧,以免遗忘 在linux中经常碰见各种文件处理.最常用的就是替换文件中的某些字符.常见字符替换还是很容易完成.但是有些不可见字符以及ascii编码字符等等都无法直接 ...

  4. linux中vim命令怎么查找替换,vim命令行快捷操作及查找替换

    一.Vim命令行模式常见快捷方式 1. 三种主要模式: ① 命令(Normal)模式: 默认模式,移动光标,剪切/粘贴文本 ② 插入(Insert)或编辑模式: 修改文本 ③ 扩展命令(extende ...

  5. Vi/Vim查找替换使用方法

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian ...

  6. linux 批量替换所有文件中包含的字符串

    sed -i "s/原来字符串/新字符串/g" `grep 原来字符串 -rl .`格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 ...

  7. vi查找替换命令详解

    一.查找 查找命令  /pattern<Enter> :向下查找pattern匹配字符串  ?pattern<Enter>:向上查找pattern匹配字符串  使用了查找命令之 ...

  8. [转]Vi/Vim查找替换使用方法

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian ...

  9. VIM 查找替换命令的使用

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能. :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/s ...

最新文章

  1. mysql配置文件构成以及具体的配置demo
  2. python多线程爬虫实例-python 多线程爬虫 实例
  3. mysql load 占位符_Mysql占位符插入
  4. 「面试」美团肝了我30+问题
  5. 职场中的那点事--小领导大智慧
  6. 结对开发2(求二维数组的最大子数组和)
  7. BitviseSSH绕过4A内网直连服务器
  8. rematch简单使用
  9. PSO算法及其对函数优化问题的处理+PSO算法改进
  10. 复杂边坡的ansys三维建模
  11. c语言负数与正数判断大小,c语言编程,输入一些整数,判断其中正数与负数的个数,并分别求出正数与负数的平均值...
  12. linux中etc下的hosts(本地IP解析)文件详解
  13. Cesium学习教程+笔记(Mars3D) 图层 图层组 矢量数据
  14. 音频均衡器 matlab code,急求高手 设计声音均衡器 滤波器
  15. 买一台 iPhone X,还是创建一家未来的独角兽? 1
  16. Craigslist :一个神奇的网站
  17. Task xxx not found in root project xxx.
  18. ubuntu重新获取IP地址
  19. 【stm32f103】引脚功能、工程简介与添加步骤
  20. 2020最受欢迎的7个vue管理后台框架

热门文章

  1. 【java】查重类的实现
  2. 现代信号处理——平稳随机信号
  3. 使用rdbtools工具分析redis备份RDB文件
  4. 2020起重机械指挥证考试及起重机械指挥模拟考试题库
  5. 虚拟机VMware Workstation安装使用教程
  6. 03.服务限流实现方案
  7. 如何使用gcore以及viewcore排查问题
  8. 使用mybatis-plus时,报错500
  9. matlab模糊控制图怎么导出_使用MATLAB生成模糊控制的离线查询表
  10. DHD的上网设置与彩信设置