22 个版本
0.1.38 | 2024年6月20日 |
---|---|
0.1.37 | 2023年1月11日 |
0.1.35 | 2022年6月18日 |
0.1.33 | 2021年11月15日 |
0.1.26 | 2021年3月22日 |
#557 in 文本处理
每月 62 次下载
用于 aki-txpr-macro
38KB
818 行
aki-gsub
替换文本程序。
特性
- 替换文本命令,通过正则表达式进行替换。
- 最低支持 rustc 1.58.1 (db9d1b20b 2022-01-20)
命令帮助
aki-gsub --help
Usage:
aki-gsub [options]
substitude text command, replace via regex.
Options:
--color <when> use markers to highlight the matching strings
-e, --exp <exp> regular expression
-f, --format <fmt> replace format
-n, --quiet no output unmach lines
-H, --help display this help and exit
-V, --version display version information and exit
Option Parameters:
<when> 'always', 'never', or 'auto'
<exp> regular expression can has capture groups
<fmt> format can has capture group: $0, $1, $2, ...
Environments:
AKI_GSUB_COLOR_SEQ_ST color start sequence specified by ansi
AKI_GSUB_COLOR_SEQ_ED color end sequence specified by ansi
Examples:
Leaving one character between 'a' and 'c', converts 'a' and 'c'
on both sides to '*':
echo "abcabca" | aki-gsub -e "a(.)c" -f "*\$1*"
result output:
*b**b*a
Converts 'a' to '*' and 'c' to '@':
echo "abcabca" | aki-gsub -e "a" -f "*" -e "c" -f "@"
result output:
*b@*b@*
快速安装
- 您可以将此安装到 cargo bin 路径
cargo install aki-gsub
- 您可以构建 Debian 软件包
cargo deb
并将 .deb 安装到您的本地 Debian 软件包仓库中。
示例
示例 1:简单替换
在 'a
' 和 'c
' 之间留一个字符,将两边的 'a
' 和 'c
' 替换为 '*
'。
命令行
echo "abcabca" | aki-gsub -e "a(.)c" -f "*\$1*"
结果输出
*b**b*a
The \$1
表示第 1 个捕获。
示例 2:提取电子邮件地址
这提取电子邮件地址,并以逗号分隔打印名称和地址。
命令行
echo "From:Red bear<[email protected]>" | aki-gsub -e "From: ?(.*)<([\w\d_.-]+@[\w\d_-]+\.[\w\d._-]+)>" -f "\$1, \$2"
结果输出
Red bear, aki.akaguma@example.com
The \$1
表示第 1 个捕获。The \$2
表示第 2 个捕获。
示例 3:多种格式
您可以指定多种格式。请参见以下内容。
命令行
echo "xxx yyy zzz" | aki-gsub -e "x(x)x" -f "a\$1a" -e "y(y)y" -f "b\$1b"
结果输出
axa byb zzz
The \$1
表示第 1 个捕获。
库示例
请参阅fn execute()
以获取此库示例。
变更日志
许可证
本项目许可方式为以下之一
- Apache 许可证 2.0 版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
任选。
依赖项
~3–4.5MB
~81K SLoC