string transformation tool (str) v1.23 build 2107262 - a string swiss-army-knife
copyright (c) bytepointer.com 2018-2021
str [options] <string> [arg2] [arg3] <action> [...<actions>]
performs given action on a string, whose result can be input into subsequent
action(s); actions may be chained together from left to right.
[options]
-f <file> - load string from specified file
-g - get next string from clipboard
-s - set current text/result string to clipboard
-c - *case sensitive (applies to CMP)
-i - case insensitive (applies to CMP)
-o - *do not unescape C-style sequences from cmdline strings
-u - unescape C-style sequences from cmdline strings
-e - *STRIP actions retain linefeeds (CRs and LFs)
-n - STRIP actions STRIP linefeeds (CRs and LFs)
-v - *verbose output
-q - turn off verbose output
-? - this help
* denotes default
<actions>
-out - output string in its current state; default at exit
<string> -out
-len - get length of current string
<string> -len
-uc - uppercase the string
<string> -uc
-lc - lowercase the string
<string> -lc
-ic - invert the case of the string
<string> -ic
-b64d - base64 decode
<string> -b64d
-b64e - base64 encode
<string> -b64e
-urle - url encode (standard): all non-alpha escaped except -_.
<string> -urle
-urld - url decode
<string> -urld
-rev - reverse the position of the characters in the string
<string> -rev
-sort - ASCII sort the characters in the string left to right
<string> -sort
-uniq - shows sorted string with duplicate characters removed
<string> -uniq
-indexof - show base-0 position of substring; -1=not_found
<string> <substring> -indexof
-stripws - strip whitespace: ASCII 9,10,13 and 32
<string> [character_replacement] -stripws
modified by -e and -n arguments
-stripnp - strip non-printable characters (i.e. keep ASCII 32-126)
<string> [character_replacement] -stripnp
-skip - skip every other char OR specify size
<string> [skip_length] -skip
-hex - show hex representation of string
<string> [row_size] -hex
-cmp - integer result of comparison between two strings;
<string> <2nd_string> [compare_len] -cmp
modified by -i and -c arguments
-substr - substring extraction
<string> <index> [length] -substr
-obs - symmetric offset obfuscation (rudimentary encryption)
<string> <key> [ascii_lo] [ascii_hi] -obs
default ASCII range is printable chars 32 thru 126
-sr - search and replace
<string> <str_search> <str_replace> -sr
-triml - trim-left (leading) whitespace
<string> -lt
-trimr - trim-right (trailing) whitespace
<string> -rt
-trim - trim all surrounding whitespace
<string> -t
-betweene - returns the substring between two anchor strings, exclusive
<string> <substr1> <substr2> -between
-betweeni - same as between but the returned substring includes the anchor
substrings