sttr is command line software that allows you to quickly run various transformation operations on the string.
// With input promptsttr
// 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
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 | shWebi
curl -sS https://webi.sh/sttr | shcurl.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/sttrbrew install sttr
Snap
sudo snap install sttrArch Linux
yay -S sttr-binScoop
scoop bucket add sttr https://github.com/abhimanyu003/scoop-bucket.gitscoop install sttr
Go
go install github.com/abhimanyu003/sttr@latestManually
Download the pre-compiled binaries from the Release! page and copy them to the desired location.
After installation simply run sttr command. // For interactive menusttr
// 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
sttr base64-encode image.jpg
sttr md5 file.txt
sttr md-html Readme.md
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
Encode/Decode
[x] ascii85-encode - Encode your text to ascii85 [x] ascii85-decode - Decode your ascii85 text [x] base32-decode - Decode your base32 text [x] base32-encode - Encode your text to base32 [x] base64-decode - Decode your base64 text [x] base64-encode - Encode your text to base64 [x] base85-encode - Encode your text to base85 [x] base85-decode - Decode your base85 text [x] base64url-decode - Decode your base64 url [x] base64url-encode - Encode your text to url [x] html-decode - Unescape your HTML [x] html-encode - Escape your HTML [x] rot13-encode - Encode your text to ROT13 [x] url-decode - Decode URL entities [x] url-encode - Encode URL entitiesHash
[x] bcrypt - Get the Bcrypt hash of your text [x] md5 - Get the MD5 checksum of your text [x] sha1 - Get the SHA1 checksum of your text [x] sha256 - Get the SHA256 checksum of your text [x] sha512 - Get the SHA512 checksum of your textString
[x] camel - Transform your text to CamelCase [x] kebab - Transform your text to kebab-case [x] lower - Transform your text to lower case [x] reverse - Reverse Text ( txeT esreveR ) [x] slug - Transform your text to slug-case [x] snake - Transform your text to snake_case [x] title - Transform your text to Title Case [x] upper - Transform your text to UPPER CASELines
[x] count-lines - Count the number of lines in your text [x] reverse-lines - Reverse lines [x] shuffle-lines - Shuffle lines randomly [x] sort-lines - Sort lines alphabetically [x] unique-lines - Get unique lines from listSpaces
[x] remove-spaces - Remove all spaces + new lines [x] remove-newlines - Remove all new linesCount
[x] count-chars - Find the length of your text (including spaces) [x] count-lines - Count the number of lines in your text [x] count-words - Count the number of words in your textRGB/Hex
[x] hex-rgb - Convert a #hex-color code to RGB [x] hex-encode - Encode your text Hex [x] hex-decode - Convert Hexadecimal to StringJSON
[x] json - Format your text as JSON [x] json-escape - JSON Escape [x] json-unescape - JSON Unescape [x] json-yaml - Convert JSON to YAML text [x] json-msgpack - Convert JSON to MSGPACK [x] msgpack-json - Convert MSGPACK to JSONYAML
[x] yaml-json - Convert YAML to JSON textMarkdown
[x] markdown-html - Convert Markdown to HTMLExtract
[x] extract-emails - Extract emails from given text [x] extract-ip - Extract IPv4 and IPv6 from your text [x] extract-urls - Extract URls your text ( we don't do ping check )Other
[x] escape-quotes - escape single and double quotes from your text [x] completion - generate the autocompletion script for the specified shell [x] interactive - Use sttr in interactive mode [x] version - Print the version of sttr [x] zeropad - Pad a number with zeros [x] and adding more....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.
Youtube: The Giants of Open Source - DevOps Paradox Terminal Trove - Tool of the Week nixCraft