linux 批量查找匹配文件 (批量修改内容)

本文介绍了如何在Linux环境中使用find、grep和sed命令高效地批量查找匹配特定模式的文件,并进行内容修改,帮助提升文件管理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sed的其他用法如下:
1、删除行首空格
  sed 's/^[ ]*//g' filename
  sed 's/^ *//g' filename
  sed 's/^[[:space:]]*//g' filename
  2、行后和行前添加新行
  行后:sed 's/pattern/&\n/g' filename
  行前:sed 's/pattern/\n&/g' filename
  &代表pattern
  3、使用变量替换(使用双引号)
  sed -e "s/$var1/$var2/g" filename
  4、在第一行前插入文本
  sed -i '1 i\插入字符串' filename
  5、在最后一行插入
  sed -i '$ a\插入字符串' filename
  6、在匹配行前插入
  sed -i '/pattern/ i "插入字符串"' filename
  7、在匹配行后插入
  sed -i '/pattern/ a "插入字符串"' filename
8、删除文本中空行和空格组成的行以及#号注释的行
  grep -v ^# filename | sed /^[[:space:]]*$/d | sed /^$/d
find命令
  find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
#递归查找替换
   find . -type f -name '*.html' | xargs perl -pi -e 's|智慧乡村|北部山区|g'
#查找替换当前目录下包含字符串并进行替换
   find -name '*.txt' | xargs perl -pi -e 's|智慧乡村|北部山区|g'
#搜索目录LOG包含显示出来
   find ./ -name '*log*' -type d
   find ./ -name '*Log*' -type d more
grep命令
grep -rl centent ./path |xargs sed -i 's/被替换的字符串/替换后的字符串/g'


语法:
        grep [option] content ./path 
grep 
-n 显示行号
-r 递归调用(包含这个文件下面子文件)
-l  匹配多个文件时,显示匹配的文件名
-s:不显示不存在或无匹配文本的错误信息
-v:显示不包含匹配文本的所有行
-c:只输出匹配行的计数
-h:查询多文件时不显示文件名
用法
#从文件内容查找匹配指定字符串的行:  
$ grep "被查找的字符串" 文件名  
 
#从文件内容查找与正则表达式匹配的行:  
$ grep –e “正则表达式” 文件名  
 
#查找时不区分大小写:  
$ grep –i "被查找的字符串" 文件名  
 
#查找匹配的行数:  
$ grep -c "被查找的字符串" 文件名  
 
#从文件内容查找不匹配指定字符串的行:  
$ grep –v "被查找的字符串" 文件名  


xargs 
介绍:又称管道命令,构造参数等。是给命令传递参数的一个过滤器,也是组合多个命令的一个工具 
它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理 。简单的说 就是把 其他命令的给它的数据 
传递给它后面的命令作为参数
xargs
-i 用 {} 代替 传递的数据
-I string 用string来代替传递的数据-n[数字] 设置每次传递几行数据
-n 选项限制单个命令行的参数个数
-t 显示执行详情
-p 交互模式
-P n 允许的最大线程数量为n
-s[大小] 设置传递参数的最大字节数(小于131072字节)
-x 大于 -s 设置的最大长度结束 xargs命令执行


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值