AboutThis is an attempt to create handy shell utility for tagging files. It aims at being useful and comfortable while used in composition with other tools.
All tags (also known as labels) are kept in sqlite database in user's home directory, separate from files' content; it is possible to
... [More]
tag any type of file.
One can treat it as analogous to selection utility in spatial file managers with few major differences: selections don't disappear when directory is being changed (only when they are ordered to do so) and every selection can span multiple locations in whole file system. Interestingly while working with two xterm instances side by side it can be treated as a selection tool in mc (or other Norton Commander clone) but much more powerful.
Usage examplesTag files slides.pdf and summary.txt with math:
$ tag -t math slides.pdf summary.txtSame as above but not using -t argument:
$ tag math slides.pdf summary.txtRemove math tag, and add physics tag to slides.pdf file:
$ tag -d math -t physics slides.pdfMove files tagged with music to directory Desktop/Music while preserving tags associations:
$ tag -m music Desktop/MusicDeletes all associations with tag stuff (deleting this tag):
$ tag -D stuffPasses all file paths tagged with stuff to ls -lda command:
$ ls -lda `tag -l stuff`Comfortable way to pass all files tagged with metal and rock to xmms -e command:
$ tagexec metal,rock xmms -eSame as above but using directly tag and xargs commands (not using tagexec):
$ tag -L metal,rock | xargs -0 xmms -eInstallationKeep in mind that, though usable, project is very fresh and may be very buggy.
$ svn checkout http://tag-util.googlecode.com/svn/trunk/ tag-util
$ cd tag-util
$ python setup.py installIt is advisable to enable optional completion script for bash by passing --with-bash-complete argument to setup.py installation script. Default path for this script is /etc/bash_completion.d directory - one can change this path with --with-bash-complete=/path. [Less]