#regex #filter #command-line #replace #text #character #substitude

bin+lib aki-gsub

替换文本命令,通过正则表达式进行替换

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 文本处理

Download history 3/week @ 2024-04-19 2/week @ 2024-04-26 173/week @ 2024-06-14 39/week @ 2024-06-21 2/week @ 2024-06-28 1/week @ 2024-07-05 48/week @ 2024-07-26 14/week @ 2024-08-02

每月 62 次下载
用于 aki-txpr-macro

MIT/Apache

38KB
818

aki-gsub

crate Docs Rust Version Apache2/MIT licensed Test ubu Test mac Test win

替换文本程序。

特性

  • 替换文本命令,通过正则表达式进行替换。
  • 最低支持 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@*

快速安装

  1. 您可以将此安装到 cargo bin 路径
cargo install aki-gsub
  1. 您可以构建 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()以获取此库示例。

变更日志

此软件包的变更日志在这里。

许可证

本项目许可方式为以下之一

任选。

依赖项

~3–4.5MB
~81K SLoC