pfuntner / toys

Tools and things that make my life easier - y'all might like them too
11 stars 2 forks source link
commands cygwin linux python shell tools toys unix

Bruno's Toys

This is a collection of Unix tools command line that make my life easier. I think others might like them too so I'm making them available here but the repository is just a nice way for me to keep track of changes and deploy them easily to systems.

I will admit that the documentation is rather poor for some of the tools and many of them have little or no comments. This is a work in progress - I'm constantly creating new tools and improving documentation. In November 2017, I did a major overhaul of the documentation because I was disatisfed with having a huge table. I'm liking the results so far.

If you have questions, problems, etc, you can reach me at .

Unix platforms

Over the years, I've used many different Unix platforms: Redhat, Suse, Solaris, HP/UX, AIX, Z/OS, Cygwin, Git bash, etc. I owe no allegiance to any single platform and consider them all pretty much equal as long as they behave similarly. I have seen some issues using my tools (and other commands!) from Git bash on Windoze and sometimes a tool was only designed to work on specific platforms - I'll try to put such stuff on the doc page for the tool. In general if I find a platform where one of my tools doesn't work well, I will try to fix it!

The much-heralded TOOLS

Select a tool below to learn more about it. The Bruno's Favorite column is used to indicate that a tool is:

Tool Bruno's Favorite? Brief Description
ansible-distros Prints OS information about Ansible hosts
ansible-host-data Extracts specific information about a host in an ansible inventory
ansible-hosts Yes Lists host information from an Ansible inventory
ansible-role Yes Builds a minimial ephemeral Ansible playbook for a role and runs ansible-playbook with it
aws-image Displays details about an AWS EC2 AMI
aws-images Search for AWS EC2 AMIs
banner Yes Prints text in a banner
bashprofiles Yes Prints profile script(s) bash will use
beeper Beeps over and over
bingrep Searches for a regular expression in arbitrary data from stdin
br Yes Browse a file. Sounds simple? Maybe, but give it a try
capture Saves output and other information from a command
chars Yes Display a file character-by-character
color.py Yes Print text in the specified foreground/background colors
columns Yes Prints columns of stdin where columns are separated by a character or regular expression
comm2 Alternate version of comm that does not expect the data to be sorted
cores Prints CPU core information in a simple way
datemath Perform arithmetic on date(s)
dowhile Perform a command repeatedly until output is seen in the output
extensions Show extensions used by files
drop Yes Drop the first or last n lines, similar to head/tail
fernet Perform fernet encryption/decryption
fitwidth Yes Restrict lines of data to a desired width
flow Yes Flow lines from stdin into columnar form
fulltime Execute a command using standard time utility and all options available to it
git-cat Yes Display a file from another git branch
git-pulls Yes Do git pull on one or more repositories
git-refresh-after-merge Yes Refresh local git master branch after merging a feature branch
gitstatus Yes Show files in a local git repo that have been changed, etc.
grep-cat Yes Show lines in a file based on line numbers and/or regular expressions, ranges.
headtail Yes Print out the top and bottom of stdin or one or more files
hex Print out data or a file in hex and character form
indent Yes Indent stdin by a specified number of columns
json Yes JSON magic - it's a disservice to try to summarize this tool in a single string. Check out its page
json-shell Yes, maybe A shell-like interactive tool for navigating around a JSON object
jsoncompare Compares JSON and/or YAML files, element by element
lexec Yes Locate executable files by pattern
megadiff Compare two directories trees
megassh Yes Execute a command on one or more remote targets
more-head Display the top of a file, filling up the the screen
nocrs Remove carriage returns from files
oldtable Parse data into a tabular form using a few input and output forms - replaced by table
peval Yes Evaluate Python expression strings
pipeit Maybe? Still new Send data to a file on a remote system
push-ssh-key Maybe? Still new Push your public ssh key to a remote system
pycomment Yes vi command to toggle Python-style comments, similar to PyCharm ctrl-/ command
pythons Show versions of Python/Python2/Python3 interpreters
recentdownloads Find recently downloaded files
SecureKeyValues Manage secure key value stores
side-diff Yes Perform side-by-side compare, utilizing all of the screen width
ssh-exec Execute a script on a remote host
strip-trailing-whitespace Strip trailing whitespace from one or more files
supercd.sh Yes Change to a directory that matches a pattern
table Yes Parse data into a tabular form using several input and output forms - more flexible than oldtable
timer Display a progress meter over a specified duration of time
timestamp-my-file Add a timestamp to a filename
timestamps Show times when files were last modified, most-recently updated first
uniqc Yes Counts unique instances of input
undent Removes indentation from stdin
undupe Removes duplicate punctuation & whitespace
unixdate Invokes date with Unix-style format on Windoze
versions Show versions of arbitrary commands
wholegrep Grep entire files that contain or do not contain regular expressions