toys

Tools and things that make my life easier - y'all might like them too

View the Project on GitHub pfuntner/toys

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