@frsource/frs- 重置 - 将您文件/流中直接的内容替换为轻松( CLI 包含) ! @ @ @ @ info
快点 (单位:千美元)参见基准) CLI 和节点包装 javascript 替换 允许替换内文件(有可能将已更改的文件保存为副本), 欢呼, (中文(简体) ), 管道 还有更多!
开始( CLI)
• 妇女
实例和办法(CLI)
开始( 节点)
• 妇女
实例和秘方(节点)
: 滚动: 安装
npm install @frsource/frs-replace
或立即执行:
npx @frsource/frs-replace
键盘: CLI
frs-replace <regex> <replacement> [flags]
基本用途:
frs-replace something anything -i foo.js -o foo_replaced.js
# all of the occurences of "something" in `foo.js` will be replaced with "anything" and saved to `foo_replaced.js`
更多实例 下级。 。 。 .
参数
| 参数 | 类型 | 说明 |
|---|---|---|
| < regex> (缩写) | 字符串 | 第一个参数改为 RegExp 构造器 |
| < 替换> | 字符串 | 字符串或替换函数文件的路径(详情请参见 \\ replace fn switch) |
旗帜
注:每个布尔选项都可以通过使用
--no-前缀,例如:.--stdout或者说--no-stdout分别打开或关闭 stdout 输出 .
注意: 对象类型可以使用 标记因此,例如,如果你想通过
utf8数值i-read-optsencoding您应该写字段--i-read-opts.encoding utf8。 。 。 .
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
| i,输入 | 字符串或字符串 [] | - 说吧 | 文件路径或 快速块 模式指向要从中读取的文件( R) 。 如果多个文件指定的结果将使用 outputJoinString 选项的值) |
| 读取 | 字符串或对象 | 自动调试8 | 直接传递给 读取文件同步方法 读取输入文件时 |
| i- glob- opts (英语) | 对象 | 未定义 | 直接传递给 快块包 当解析 glob 模式时 |
| 点数 | 布尔 | 真实 | 等待 stdin 输入( 应设置为 虚假 在非交互式终端中使用时) |
| o,输出 | 字符串 | - 说吧 | 输出文件名/ 路径( 如果文件已经存在, 替换文件, 如果不存在则创建任何中间目录) |
| ============================================================================================================================================================================ | 字符串或对象 | 自动调试8 | 作为选项参数通过 写作同步 |
| {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}我们一起来 | 字符串 | \n | 加入多个文件时使用, 直接传递到 加入日记 |
| (c) 内容 | 字符串 | - 说吧 | 要替换的内容( 优先于流文件输入) (F) |
| 战略 | "同""平""平""保"结构" | 加入我们 | 输出文件生成策略 . 加入我们 - 加入所有输入文件,并将其输出为单一文件,使用路径通过为: "输出"。 。 。 . "保留结构" - 将所有文件保存到 "输出" 目录保存相对目录结构."膨胀" - 一样 "保留结构" 但将目录结构平整 |
| (f) 旗 | 字符串, 组合 数字 旗帜 | 页:1 | 正则Exp 旗帜 |
| {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你还好吧 | 布尔 | 真实 如果有管道输入, 虚假 否则 | 强制在 stdout 上发送输出 |
| r, 替换后 | 布尔 | 虚假 | 将替换参数视为包含替换函数的文件路径 |
| 帮助 | 布尔 | - 说吧 | 显示帮助 |
| ‐v, ‐‐v | 布尔 | - 说吧 | 显示版本编号 |
:mag right:实例和食谱 - CLI
1. 替换所有 a 发生 b 从 foo.js 文件并返回结果( 使用 CLI)
frs-replace a b -i foo.js --stdout
2. 替换所有 a 发生 b 从 foo.js 然后将结果保存到 foo_replaced.js (使用CLI) (中文(简体) )
frs-replace a b -i foo.js -o foo_replaced.js
3. 替换所有 a 发生 b 从文件数组中保存结果到 foo_replaced.js 使用默认 \n 作为结果连接字符串( 使用 CLI)
frs-replace a b -i foo.js -i foo2.js -o foo_replaced.js
4. 替换所有 a 发生 b 从所有 .js 文档中 foo 目录并保存结果到 foo_replaced.js 使用 \n/////\n 作为结果连接字符串( 使用 CLI)
frs-replace a b -i foo/*.js -o foo_replaced.js --o-join-str "\n/////\n"
5. 替换所有 a 发生 b 在内容字符串中 abcd 然后将结果保存到 foo_replaced.js (使用CLI) (中文(简体) )
frs-replace a b --content abcd -o foo_replaced.js
6. 替换所有 a 发生 b 从管状流保存到输出文件( 使用 CLI)
<read-file> | frs-replace a b > <output-file-path>
7. 替换所有 a 发生 b 从管子上流过 stdout 流到 <next-command> (使用CLI) (中文(简体) )
<read-file> | frs-replace a b | <next-command>
:书:节点API
@frsource/frs-重置包以两种口味来运出:同步和同步:
import { sync, async } from '@frsource/frs-replace';
sync({/* options */});
await async({/* options */});
何处 /* options */ 是一个包含:
注:参数之一: 投入 或者说 内容 需要时间
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
| 投入 | 字符串或字符串 [] | 未定义 | 文件路径或 快速块 模式指向要从中读取的文件( R) 。 如果多个文件指定的结果将使用 outputJoinString 选项的值) |
| 输入读取选项 | 字符串或对象 | 自动调试8 | 直接传递给 读取文件同步方法 读取输入文件时 |
| 输入 Glob 选项 | 对象 | 未定义 | 直接传递给 快块包 当解析 glob 模式时 |
| 内容 | 字符串 | 未定义 | 要替换的内容( 优先于文件输入) |
| 战略 | "同""平""平""保"结构" | 加入我们 | 输出文件生成策略 . 加入我们 - 加入所有输入文件,并将其输出为单一文件,使用路径通过为: "输出"。 。 。 . "保留结构" - 将所有文件保存到 "输出" 目录保存相对目录结构."膨胀" - 一样 "保留结构" 但将目录结构平整 |
| 针头 | 字符串或 RegExp 对象 | - 说吧 | 用作第一个论据: javascript 替换 |
| 替换 | 字符串 | - 说吧 | 作为第二次辩论通过 javascript 替换 |
| 产出 | 字符串 | 未定义 | 输出文件的路径 |
| 输出 | 字符串或对象 | "utf8" (英语) | 作为选项参数通过 写作同步 |
| 输出 | 字符串 | \n | 加入多个文件时使用的字符串,直接传递到 加入日记 |
:mag right:实例和食谱 - 节点
注意: 虽然所有实例在所有情况下都使用同步 API 方法, 但您可以使用
async还有.
1. 替换所有 a 发生 b 从 foo.js 文件并返回结果
import { sync } from '@frsource/frs-replace';
const result = sync({
input: 'foo.js',
regex: new RegExp('a', 'g'),
replacement: 'b',
output: 'foo_replaced.js',
});
2. 替换所有 a 发生 b 从 foo.js 然后将结果保存到 foo_replaced.js
import { sync } from '@frsource/frs-replace';
const result = sync({
input: 'foo.js',
regex: new RegExp('a', 'g'),
replacement: 'b',
output: 'foo_replaced.js',
});
3. 替换所有 a 发生 b 从文件数组中保存结果到 foo_replaced.js 使用默认 \n 作为结果组合字符串
import { sync } from '@frsource/frs-replace';
const result = sync({
input: ['foo.js', 'foo2.js'],
regex: new RegExp('a', 'g'),
replacement: 'b',
output: 'foo_replaced.js',
});
4. 替换所有 a 发生 b 从所有 .js 文档中 foo 目录并保存结果到 foo_replaced.js 使用 \n/////\n 作为结果组合字符串
import { sync } from '@frsource/frs-replace';
const result = sync({
input: 'foo/*.js',
regex: new RegExp('a', 'g'),
replacement: 'b',
outputJoinString: '\n/////\n',
output: 'foo_replaced.js',
});
5. 替换所有 a 发生 b 在内容字符串中 abcd 然后将结果保存到 foo_replaced.js
import { sync } from '@frsource/frs-replace';
const result = sync({
content: 'abcd',
regex: new RegExp('a', 'g'),
replacement: 'b',
output: 'foo_replaced.js',
});
: 有 上行 趋势:基准
在Node v24.22.2上测试.
输入为 glob 模式 [40 文件]
| 军衔 | 图书馆 | 平均延迟度 | 差异百分比(与最佳平均延迟率相比) |
|---|---|---|---|
| 1个 | @frsource/frs-重置(同步) | 0.40 ± 1.33% (中文(简体) ) | +0.0% (单位:千美元) |
| 2个 | 替换文件(同步) | 0.47 ± 2.40% (%) | +16.76% (中文(简体) ) |
| 3个 | @frsource/frs- 重置( async) | 1.76 ± 1.58% | +339.49% (单位:千美元) |
| 页:1 | 替换文件( 同步) | 2.42 ± 2.16% | +502.18% (单位:千美元) |
输入替换为字符串( c)
| 军衔 | 图书馆 | 平均延迟度 | 差异百分比(与最佳平均延迟率相比) |
|---|---|---|---|
| 1个 | @frsource/frs-重置(同步) | 0.0 ± 0.70% | +0.0% (单位:千美元) |
| 2个 | 替换结构 | 0.0 ± 0.65% (单位:千美元) | +28.31% (%) |
| 3个 | @frsource/frs- 重置( async) | 0.00% ± 0.8% | +38.74% (单位:千美元) |