293 千锋Python教程:2 3 7 Vim查找替换+文件搜索
外来客 • 2026-08-28 14:34:21
声明:本文为对公开内容的摘要整理,
未经本站独立核实,可能与原内容存在出入,不代表本站立场、观点或建议;
观点与版权归原作者及原平台所有。
如涉及版权问题,请联系我们,核实后立即删除。
[ 免责声明 ]
📝 Vim 查找与替换操作
- 查找模式:在命令模式下输入 `/` 表示从上往下搜索,输入 `?` 表示从下往上搜索。
- 导航快捷键:小写 `n` 用于正向搜索下一个匹配项,大写 `N` 用于反向搜索上一个匹配项。
- 替换语法:进入末行模式(按 `:`),输入范围(如 `1,$` 表示全文,`1,100` 表示前100行),接着输入 `s` 表示替换(substitute)。
- 替换结构:格式为 `s/被替换内容/替换后内容/指示器`。例如将 `0` 替换为 `1000` 写作 `s/0/1000/`。
- 指示器详解:
- `c` (confirm):每次替换前询问用户确认。
- `g` (global):全局模式,解决一行中出现多个匹配项时只替换第一个的问题,确保该行所有匹配项都被替换。
- `i` (ignore case):忽略大小写进行匹配。
- `e` (error):遇到错误时忽略并继续执行后续搜索,不中断操作。
- 注意事项:若未加 `g` 指示器,一行中仅第一个匹配项会被替换;使用 `u` 命令可撤销误操作。
📂 Linux find 命令查找文件
- 基本用法:`find [路径] [参数]`。路径 `/` 表示从根目录开始搜索,`.` 表示从当前目录开始搜索。
- 按名称查找:使用 `-name` 参数,支持通配符。例如 `find / -name "*.html"` 可查找系统中所有后缀为 `.html` 的文件。
- 按大小查找:使用 `-size` 参数。
- 单位:`c` 字节,`k` 千字节,`M` 兆字节,`G` 吉字节。
- 符号:`+` 表示大于指定大小,`-` 表示小于指定大小。
- 示例:`find / -size +10M` 查找大于 10MB 的文件;`find / -size -10M` 查找小于 10MB 的文件。
- 换算关系:1024 字节 = 1KB,1024KB = 1MB,1024MB = 1GB。
- 按类型查找:使用 `-type` 参数。
- `f`:普通文件(默认)。
- `d`:目录(directory)。
- `l`:符号链接(symbolic link)。
- `s`:套接字(socket)。
- 按时间查找:单位均为“天”。
- `-atime`:最后访问时间。
- `-mtime`:最后修改时间。
- `-ctime`:创建时间。
- 示例:`find . -mtime 0` 查找 24 小时内修改过的文件;`-mtime 1` 查找 1 天前修改的文件。
- 按权限查找:使用 `-perm` 参数。
- 示例:`find . -perm 755` 查找权限为 755 的可执行文件;`-perm 664` 查找所有者和同组用户可读写、其他用户只读的文件。
- 删除操作:在查找命令后加 `-delete` 可直接删除找到的文件,需极度小心通配符范围,防止误删。
🔍 grep 命令搜索字符串
- 基本功能:在文件内容或标准输入中搜索特定字符串,常用于配合管道符 `|` 过滤前一个命令的输出。
- 递归搜索:使用 `-r` 参数在指定目录及其子目录中递归搜索。
- 高亮显示:搜索结果中匹配的部分会被高亮显示,便于快速定位。
- 正则表达式支持:
- 使用 `-E` 参数启用扩展正则表达式。
- 特殊字符转义:如括号 `()`、斜杠 `/` 等需使用反斜杠 `\` 转义。
- 量词:`?` 表示 0 次或 1 次,`+` 表示 1 次或多次,`*` 表示 0 次或多次。
- 示例:搜索 HTML 中的 `