golang跨平台字符串操作与处理插件库sttr的使用
Golang跨平台字符串操作与处理插件库sttr的使用
简介
sttr
是一个命令行工具,可以快速对字符串执行各种转换操作。
安装
快速安装
curl -sfL https://raw.githubusercontent.com/abhimanyu003/sttr/main/install.sh | sh
Homebrew (macOS)
brew install abhimanyu003/sttr/sttr
Snap
sudo snap install sttr
Arch Linux
yay -S sttr-bin
Docker
docker run -it --rm -e TERM=xterm-256color ghcr.io/abhimanyu003/sttr:latest
Go
go install github.com/abhimanyu003/sttr@latest
使用示例
基本使用
# 交互式菜单
sttr
# 直接输入
sttr md5 "Hello World"
# 文件输入
sttr md5 file.txt
sttr base64-encode image.jpg
# 从其他处理器读取
echo "Hello World" | sttr md5
cat file.txt | sttr md5
# 将输出写入文件
sttr yaml-json file.yaml > file-output.json
链式操作
sttr md5 hello | sttr base64-encode
echo "Hello World" | sttr base64-encode | sttr md5
从URL获取数据并转换
curl https://jsonplaceholder.typicode.com/users | sttr json-yaml
支持的转换操作
编码/解码
ascii85-encode
- 编码为Ascii85ascii85-decode
- 解码Ascii85文本base32-decode
- 解码Base32文本base32-encode
- 编码为Base32base64-decode
- 解码Base64文本base64-encode
- 编码为Base64html-decode
- HTML解码html-encode
- HTML编码url-decode
- URL解码url-encode
- URL编码
哈希计算
md5
- 计算MD5哈希sha1
- 计算SHA1哈希sha256
- 计算SHA256哈希sha512
- 计算SHA512哈希
字符串转换
camel
- 转换为camelCasekebab
- 转换为kebab-caselower
- 转换为小写pascal
- 转换为PascalCasereverse
- 反转文本slug
- 转换为slug-casesnake
- 转换为snake_casetitle
- 转换为标题大小写upper
- 转换为大写
JSON/YAML转换
json-yaml
- JSON转YAMLyaml-json
- YAML转JSONjson
- 格式化JSON
其他操作
count-chars
- 计算字符数count-words
- 计算单词数extract-emails
- 提取电子邮件extract-ip
- 提取IP地址extract-urls
- 提取URL
完整示例
package main
import (
"fmt"
"os/exec"
)
func main() {
// 示例1: 计算字符串的MD5哈希
md5Cmd := exec.Command("sttr", "md5", "Hello World")
md5Output, _ := md5Cmd.Output()
fmt.Println("MD5 of 'Hello World':", string(md5Output))
// 示例2: Base64编码
base64Cmd := exec.Command("sttr", "base64-encode", "Hello World")
base64Output, _ := base64Cmd.Output()
fmt.Println("Base64 of 'Hello World':", string(base64Output))
// 示例3: JSON格式化
jsonCmd := exec.Command("sttr", "json", `{"name":"John","age":30}`)
jsonOutput, _ := jsonCmd.Output()
fmt.Println("Formatted JSON:", string(jsonOutput))
// 示例4: 链式操作 - 先MD5再Base64
chainCmd1 := exec.Command("sttr", "md5", "Hello World")
chainCmd2 := exec.Command("sttr", "base64-encode")
chainCmd2.Stdin, _ = chainCmd1.StdoutPipe()
chainOutput, _ := chainCmd2.Output()
fmt.Println("MD5 then Base64:", string(chainOutput))
}
特点
- 跨平台支持
- 丰富的字符串处理功能
- 支持管道操作
- 简单易用的命令行界面
- 高性能处理
sttr是一个功能强大且易于使用的字符串处理工具,特别适合开发人员在日常工作中快速处理各种文本转换任务。
更多关于golang跨平台字符串操作与处理插件库sttr的使用的实战教程也可以访问 https://www.itying.com/category-94-b0.html
1 回复