博客
关于我
liunx查找当前目录文件及子目录文件下的中文并替换
阅读量:791 次
发布时间: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/

你可能感兴趣的文章
log4j的配置说明
查看>>
log4j补充
查看>>
log4j记录日志
查看>>
Log4j输出到控制台成功,写入文件失败 - Log4j和commons log的整合
查看>>
Log4j配置详解和实例
查看>>
Log4Net组件的应用详解
查看>>
log4net配置,正在用
查看>>
Logback configuration error detected:D:\log\exchange-platform\info.2021-07-27.log (系统找不到指定的路径。)
查看>>
Logback 配置文件例
查看>>
logback-spring.xml配置
查看>>
logback.xml 配置详解(1)
查看>>
logback.xml配置
查看>>
logback.xml配置导入spring无法启动:ch.qos.logback.core.joran.spi.JoranException: I/O error occurred while par
查看>>
logback异步日志AsyncAppender配置
查看>>
logback的使用和logback.xml详解
查看>>
logback配置
查看>>
logback配置文件详解
查看>>
Logback配置输出sql
查看>>
logger4j 日志配置内,各种符号详解
查看>>
logging.config报错FileNotFoundError
查看>>