sttr
Website | Install | Getting Started | CLI Reference | Source Code
sttr
is command line software that allows you to quickly run various transformation operations on the string.
// With input prompt sttr // Direct input sttr md5 “Hello World” // File input sttr md5 file.text sttr base64-encode image.jpg // Reading from different processor like cat, curl, printf etc… echo “Hello World” | sttr md5 cat file.txt | sttr md5 // Writing output to a file sttr yaml-json file.yaml > file-output.json
Demo
Installation
Quick install
You can run the below curl
to install it somewhere in your PATH for easy use. Ideally it will be installed at ./bin
folder
curl -sfL https://raw.githubusercontent.com/abhimanyu003/sttr/main/install.sh | sh
Webi
macOS / Linux
curl -sS https://webi.sh/sttr | sh
Windows
curl.exe https://webi.ms/sttr | powershell
See here
Homebrew
If you are on macOS and using Homebrew, you can install sttr
with the following:
brew tap abhimanyu003/sttr brew install sttr
Snap
sudo snap install sttr
Arch Linux
yay -S sttr-bin
Scoop
scoop bucket add sttr https://github.com/abhimanyu003/scoop-bucket.git
scoop install sttr
Go
go install github.com/abhimanyu003/sttr@latest
Manually
Download the pre-compiled binaries from the Release! page and copy them to the desired location.
Guide
- After installation simply run
sttr
command.
// For interactive menu sttr // Provide your input // Press two enter to open operation menu // Press /
to filter various operations. // Can also press UP-Down arrows select various operations.
- Working with help.
sttr -h // Example sttr zeropad -h sttr md5 -h
- Working with files input.
sttr {command-name} {filename} sttr base64-encode image.jpg sttr md5 file.txt sttr md-html Readme.md
- Writing output to file.
sttr yaml-json file.yaml > file-output.json
- Taking input from other command.
curl https: //jsonplaceholder.typicode.com/users | sttr json-yaml
- Chaining the different processor.
sttr md5 hello | sttr base64-encode echo “Hello World” | sttr base64-encode | sttr md5
Supported Operations
Encode/Decode
- ascii85-encode - Encode your text to Ascii85
- ascii85-decode - Decode your Ascii85 text
- base32-decode - Decode your Base32 text
- base32-encode - Encode your text to Base32
- base64-decode - Decode your Base64 text
- base64-encode - Encode your text to Base64
- base85-encode - Encode your text to Base85
- base85-decode - Decode your Base85 text
- base64url-decode - Decode your Base64 URL
- base64url-encode - Encode your text to URL
- html-decode - Unescape your HTML
- html-encode - Escape your HTML
- rot13-encode - Encode your text to ROT13
- url-decode - Decode URL entities
- url-encode - Encode URL entities
Hash
- bcrypt - Get the bcrypt hash of your text
- md5 - Get the MD5 checksum of your text
- sha1 - Get the SHA1 checksum of your text
- sha256 - Get the SHA256 checksum of your text
- sha512 - Get the SHA512 checksum of your text
String
- camel - Transform your text to CamelCase
- kebab - Transform your text to kebab-case
- lower - Transform your text to lower case
- reverse - Reverse Text ( txeT esreveR )
- slug - Transform your text to slug-case
- snake - Transform your text to snake_case
- title - Transform your text to Title Case
- upper - Transform your text to UPPER CASE
Lines
- count-lines - Count the number of lines in your text
- reverse-lines - Reverse lines
- shuffle-lines - Shuffle lines randomly
- sort-lines - Sort lines alphabetically
- unique-lines - Get unique lines from list
Spaces
- remove-spaces - Remove all spaces + new lines
- remove-newlines - Remove all new lines
Count
- count-chars - Find the length of your text (including spaces)
- count-lines - Count the number of lines in your text
- count-words - Count the number of words in your text
RGB/Hex
- hex-rgb - Convert a #hex-color code to RGB
- hex-encode - Encode your text Hex
- hex-decode - Convert Hexadecimal to String
JSON
- json - Format your text as JSON
- json-escape - JSON Escape
- json-unescape - JSON Unescape
- json-yaml - Convert JSON to YAML text
- json-msgpack - Convert JSON to MSGPACK
- msgpack-json - Convert MSGPACK to JSON
YAML
- yaml-json - Convert YAML to JSON text
Markdown
- markdown-html - Convert Markdown to HTML
Extract
- extract-emails - Extract emails from given text
- extract-ip - Extract IPv4 and IPv6 from your text
- extract-urls - Extract URLs your text ( we don’t do ping check )
Other
- escape-quotes - escape single and double quotes from your text
- completion - generate the autocompletion script for the specified shell
- interactive - Use sttr in interactive mode
- version - Print the version of sttr
- zeropad - Pad a number with zeros
- and adding more…
Featured On
These are the few locations where sttr
was highlighted, many thanks to all of you. Please feel free to add any blogs/videos you may have made that discuss sttr
to the list.