HOME  |  GIT Overview  |  Script-Archive: (docs) : (wiki) : (git)  |  ...

Peter's Script-Archive - TagLS - Tags and Commandline


Etymology: Tags Is Derived From TagLs

[taggl:s]

"speaking names" or
en.wikipedia.org/wiki/Tag or
comp/lang/perl/authors/wall,larry/perl.script.process.zap:regex-based-kill

Why try to store meta information / tags in extra data bases? Why modify file formats and store meta information with the file, requiring an extra open or an extra data base? The most often used tags can far simpler be used to make up the file name. Use the primary hierarchic relationship for the directory tree, then add a command to find matching files using arbitrary tag combinations.

A trivial find | grep go a long way when using the above idea (those pesky Unix concepts, you remember?). Two ways to improve this are 1. doing find ahead of time (trivial), 2. getting rid of the notion of order usually implied by the arguments to grep.

Some Larry-Wall-esque TIMTOWTDI (google it :)!) to allow more flexibility in the search arguments doesn't hurt either. A bit of classical logic might just be the ticket to deal with point two - and if we extend regexes beyond perl's native capabilities while still being lazy and true to Perl, so much the better: Behold tagls.

If you are using tags as part of filenames (or just 'speaking filenames'), then you may also be interested in tagls, which handles searching in filelists with word boundaries for 'tags', synonym expansion, boolean expressions over lists of tags or regular expressions; both against the file name or maybe also a file's content. The output can be unsorted / sorted / sorted by relevance.

If you use tagls with e.g. vim and a vim script like utl.vim you've a pretty useful setup, that is also capable of jumping between files (even without utl: gqf, <VISUAL>qf) and less restricted than say a wiki (provided you do not need html export, for which the wiki syntax and restrictions are most helpful:)).

tagls and taglsc are an experiment of using file-system based tags with scripts and the command line. IMHO quite successful, very useful, and without requiring a heavyweight fulltext indexer you've to keep from running amok in your archive directories.

If you just remembered Hans Reiser's ideas on semantics and filesystems: his papers offer indeed interesting usage ideas on tags, some of which are adaptable to tagls.

Major Commands

Git View of this section / Download


HOME  |  GIT Overview  |  Script-Archive: (docs) : (wiki) : (git)  |  ...

jakobi(at)acm.org, 2009-07 - 2012-03