Sttr | Cross-Platform, Cli App To Perform Various Operations On String

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

:movie_camera: Demo

sttr demo

:battery: 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.

:books: 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

:boom: 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.

GitHub:

4 Likes