博主头像

293 千锋Python教程:2 3 7 Vim查找替换+文件搜索

外来客 • 2026-08-28 14:34:21

分享
𝕏 f ◉
声明:本文为对公开内容的摘要整理, 未经本站独立核实,可能与原内容存在出入,不代表本站立场、观点或建议; 观点与版权归原作者及原平台所有。 如涉及版权问题,请联系我们,核实后立即删除。 [ 免责声明 ]

📝 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 中的 `