博客
关于我
liunx查找当前目录文件及子目录文件下的中文并替换
阅读量:790 次
发布时间:2023-02-06

本文共 896 字,大约阅读时间需要 2 分钟。

sed与grep命令的高效应用

在Linux系统中,sed和grep命令是文本处理的强大工具,常用于批量处理文件内容。本文将介绍如何利用这两种命令实现文件中的字符串替换操作。

**案例一:批量替换多个文件中的特定字符串**

命令示例:sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./`

解释:

- `-i`:表示对文件进行在-place编辑,不需要临时文件。- `grep yyyy -rl --include="*.txt" ./`:使用grep命令查找当前目录及其子目录中所有扩展名为.txt的文件,包含匹配"yyyy"的行。- `s/yyyy/xxxx/g`:使用sed命令替换所有匹配的"yyyy"为"xxxx",并在每行中找到所有"yyyy"实例进行替换(g表示全局替换)。- 通过``的方式,将grep的结果作为sed的操作文件,实现批量替换。

**案例二:仅替换当前目录内的文件**

命令示例:sed -i s/xxxx/yyyy/g ./*.txt

解释:

- `./*.txt`:表示当前目录下的所有.txt文件。- `-i`:在-place编辑文件。- `s/xxxx/yyyy/g`:将所有匹配"xxxx"替换为"yyyy",同样支持全局替换。

**案例三:删除系统中的svn目录**

命令示例:find . -type d -name ".svn"|xargs rm -rf

另一种方法:find . -type d -iname ".svn" -exec rm -rf {} \;

解释:

- 使用find命令搜索当前目录下的.svn目录。- `-type d`:匹配目录。- `-name ".svn"`或`-iname ".svn"`:指定要删除的文件或目录名称。- `xargs rm -rf`:将找到的.svn目录加到xargs处理列表中,并执行rm命令删除这些目录及内内容。- `-exec rm -rf {} \;`:执行rm命令,`{}`表示find找到的结果,`\;`指定命令的结束符。

转载地址:http://fuufk.baihongyu.com/

你可能感兴趣的文章
Linux:-bash: pip: command not found pip
查看>>
Linux:/dev/tty、/dev/tty0 和 /dev/console 之间的区别
查看>>
Linux:bash: git: 未找到命令...
查看>>
Linux:CentOS安装Docker Compose
查看>>
Linux:CentOS安装Git
查看>>
Linux:error: libuv required but not found. Try installing ‘libuv1-dev‘ or ‘libuv-devel‘
查看>>
Linux:fpm打包工具
查看>>
Linux:ldd命令详解
查看>>
Linux:Mysql 大小写配置
查看>>
Linux:mysql中文乱码解决方案
查看>>
Linux:Prometheus安装
查看>>
Linux:Redis开机启动
查看>>
Linux:RPM命令
查看>>
Linux:Ubuntu防火墙
查看>>
Linux:xshell连接centos虚拟机很慢的解决方案
查看>>
Linux:yum安装提示“没有可用软件包”
查看>>
Linux:修改yum源
查看>>
Linux:几个重要的文件处理命令
查看>>
Linux:升级OpenSSL到1.1以上版本
查看>>
Linux:升级python3
查看>>