diskutil_completion /

Filename Size Date modified Message
1023 B
6.4 KB
1.2 KB
This is a completion file and python script to aid in the usage of darwin's diskutil command.

The combination is used because it is far more pleasant to write the completion logic in Python than in Bash

To instal and use:

copy the diskutil_completion file anywhere on your hardrive for example /usr/local/etc

copy the complete_diskutil.py script somewhere on your path (/usr/local/bin) and make sure its executable 

add the following line to your .bashrc file:

. /usr/local/etc/diskutil_completion

source your .bashrc folder, or just open a new terminal window for it to take effect

A couple quick notes:

To improve the performance of the disk listing, I experimented with a caching of the disk info - its disabled by default as it only speeds subsequent listings which in use aren't really needed.  To enable set the flag at the top of the script

diskutil is unorthodox for bash in that some parameters (namely format) contain spaces.  I try to work around that best I can, but there are still a couple oddities.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.