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