❯ gstring --help
Usage: gstring <command> [flags]
A tool to work with strings
Flags:
  -h, --help    Show context-sensitive help.
  -t, --trim    Trim output (for piping)
Commands:
  base64 encode        Encodes with base64
  base64 decode        Decodes with base64
  count bytes          Counts bytes
  count chars          Counts characters
  count words          Counts words
  case camel           formatsCamelCase
  case lower           formats lower
  case random          ForMats rANdom CaSE
  case snake           formats_snake_case
  case upper           FORMATS UPPER
  hash sha256          Calculates Sha256
  hash sha512          Calculates Sha512
  hash md5             Calculates MD5
  head                 Returns the first n lines
  hex to               Converts to hexadecimal
  hex from             Converts hexadecimal back
  lorem bytes          Returns Bytes
  lorem paragraphs     Returns Paragraphs
  lorem sentences      Returns Sentences
  lorem words          Returns Words
  htpasswd             Create a htpasswd string
  permissions          Parses Unix permissions
  pwgen                Password generator (letters and numbers)
  remove-whitespace    Removes whitespace
  reverse              Reverses the input
  rng                  Random number generator
  sort                 Sorts the input by line
  split                Splits a string
  tail                 Returns the last n lines
  time from-unix       Converts from Unix time to normal time
  time get-unix        Returns Unix time
  url encode           Encodes string to valid URL
  url decode           Decodes URL to string
  version              Shows version information
Run "gstring <command> --help" for more information on a command.
with curl
VERSION=$(curl -s https://api.github.com/repos/allaman/gstring/releases/latest | grep tag_name | cut -d '"' -f 4)
curl -sLo gstring https://github.com/Allaman/gstring/releases/download/${VERSION}/gstring_${VERSION}_$(uname -s)_$(uname -m)with wget
VERSION=$(wget -qO - https://api.github.com/repos/allaman/gstring/releases/latest | grep tag_name | cut -d '"' -f 4)
wget -qO gstring https://github.com/Allaman/gstring/releases/download/${VERSION}/gstring_${VERSION}_$(uname -s)_$(uname -m)chmod +x gstring
./gstringMost of the commands work with stdin so you have to pipe content, for example:
echo "hello world" | gstring case camel
gstring hash sha256 < main.go # equivalent to sha256sum main.go
date +%s | gstring time from-unix -f "2006-01-02 15:04"However, some commands read from named arguments, for example:
gstring htpasswd -u bar -p test
gstring lorem sentences -c 20
gstring rng -s 1 -e 100 -c 10 -d ";"
gstring pwgen -n 20 -c 10 -d ";"
gstring permissions -p 3755Well, of course, from Golang and string. What are you thinking?

