replace

replace 修改文件内的文本,不修改文件名。默认只显示将影响的文件和匹配次数;加 -w 才写入。搜索子目录需要 -r。

开发版本 1.1.5稳定
lil-terminal

概览

-e txt,php 按扩展名筛选,-g "*.php" 按文件名筛选。-i 忽略普通文本大小写;-p 使用完整的 PHP 正则表达式。-a 包含依赖和缓存目录。

写入之前先确认影响范围

-w -b 依次创建 .bak、.bak-001,不会覆盖旧备份。递归搜索会跳过备份文件。二进制文件或大于 4 MiB 的文件会跳过;最多扫描 5000 个文件。

语法

lil-terminal
replace <old> <new> [path] [options]

参考

replace <old> <new>

预览当前目录文件中的替换

replace <old> <new> <file>

预览单个文件中的替换

replace <old> <new> <dir> -r

递归预览目录中的替换

-w

原子写入计划中的修改

-i

普通文本匹配时忽略大小写

-p

把 <old> 作为完整 PHP 正则表达式

-e <exts>

限制扩展名,例如 php,js,css 或 tar.gz

-g <glob>

用 *.php 之类 glob 限制文件名

-b

写入前创建 .bak 副本

-a

包含 vendor、node_modules、VCS 与缓存目录

先预览,再写入

replace 修改文件内的文本,不修改文件名。默认只显示将影响的文件和匹配次数;加 -w 才写入。搜索子目录需要 -r。

限定目标

-e txt,php 按扩展名筛选,-g "*.php" 按文件名筛选。-i 忽略普通文本大小写;-p 使用完整的 PHP 正则表达式。-a 包含依赖和缓存目录。

保留备份

-w -b 依次创建 .bak、.bak-001,不会覆盖旧备份。递归搜索会跳过备份文件。二进制文件或大于 4 MiB 的文件会跳过;最多扫描 5000 个文件。

交互式 sandbox 预览

可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。

预览文字替换

安装与管理

安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。

Base 与 Minimum 是同一当前模块版本的两个包。

Base 包

安装包含本地参考和全部已发布模式的完整包。

install replace
Minimum 包

安装精简包。该包不包含本地参考;help <cmd> -i 会打开当前服务器参考。

install replace -m
精确公开版本

安装这个确切的已发布版本。

install replace -v 1.1.5
检查或升级

让 upgrade 检查兼容性,仅在需要时替换已安装块。

upgrade replace
删除模块

删除扩展块,不影响核心和其他模块。

install replace -u

示例

示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。

预览文字替换
cd \sandbox | replace draft published workspace/replace.txt
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
写入已确认修改
replace draft published \sandbox\workspace\replace.txt -w
Replaced                   2 occurrences in 1 file
workspace/replace.txt      2

忽略大小写
replace DRAFT published \sandbox\workspace\replace.txt -i
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
使用正则表达式
replace "~draft~" published \sandbox\workspace\replace.txt -p
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
按扩展名筛选
replace draft published \sandbox\workspace -r -e txt
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
按文件名筛选
replace draft published \sandbox\workspace -r -g "*.txt"
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
写入并备份
replace draft published \sandbox\workspace\replace.txt -w -b
Replaced                   2 occurrences in 1 file
workspace/replace.txt      2

Backups                    1
workspace/replace.txt.bak
包含依赖目录
replace draft published \sandbox\workspace -r -a -e txt
Preview                3 replacements in 2 files
workspace/replace.txt  2
workspace/vendor/review.txt  1

Write                  use -w to apply changes
预览目录
replace draft published \sandbox\workspace
Preview                2 replacements in 1 file
workspace/replace.txt  2

Write                  use -w to apply changes
检查缺失路径
replace draft published \sandbox\missing.txt
未找到路径
拒绝无效正则
replace draft published \sandbox\workspace\replace.txt -p
Invalid regular expression
保留第二个编号备份
replace draft published \sandbox\workspace\replace.txt -w -b | replace published final \sandbox\workspace\replace.txt -w -b
Replaced                   2 occurrences in 1 file
workspace/replace.txt      2

Backups                    1
workspace/replace.txt.bak

Replaced                   2 occurrences in 1 file
workspace/replace.txt      2

Backups                    1
workspace/replace.txt.bak-001

本示例使用的文件: sandbox/workspace/replace.txt

该示例使用受保护的 /sandbox/ 文档工作区中的文件或目录。

status=draft
owner=lil
status=draft

相关文档

当前公开版本

v1.1.52026-10-31

Numbered backups

目录扫描跳过 .bak 和 .bak-001 等备份文件;仍可明确指定备份文件路径。