dagger - a command line tagging tool

What is dagger?

dagger is a small command-line utility for unix/linux written in Python which tags and renames audio-files. Currently supported formats are MP3 and OGG Vorbis. dagger's configuration file supports different profiles with their own sets of options.

Current version: 0.3.2

Version 0.3.2 corrects the parsing of filenames in subdirectories. It also contains bugfixes for capitalization of words containing parentheses and dashes.

If you want to keep informed about new releases, just subscribe on Freshmeat.


The current version of dagger is 0.3.2. Changes are listed in the Changelog. You may download the software with this link:

dagger-0.3.2.tar.gz (18 KB)

For users of APT-based Linux-distributions such as Debian or Ubuntu there is a prepackaged .deb:

dagger_0.3.2-1_all.deb (14 KB)

Older versions

dagger-0.3.1.tar.gz (17 KB)
dagger-0.3.tar.gz (17 KB)
dagger-0.2.tar.gz (18 KB)
dagger-0.1.tar.gz (15 KB)


The following overview is produced when you run dagger without options. If you want further explanation, please refer to the README.

dagger 0.3.2
Copyright (c) 2008 Stephan Windmüller

Syntax: dagger [options] [actions] file(s)
Example: dagger -v -r "%b/%n - %a - %t.ogg" *.ogg

General actions:
 -h, --help                     Show this help
 -r, --rename="format"          Renames the given file(s) to format
 -t, --tag="format"             Parses the filename and saves the tag
 -m, --missing                  Checks for missing tag fields
     --regexp="s/str1/str2/"    Perform regexp replace

Actions which set static tags:  
     --set-artist="name"        Sets the artist tag in all files
     --set-album="name"         Sets the album tag in all files
     --set-comment="name"       Sets the comment tag in all files
     --set-genre="genre"        Sets the genre tag in all files
     --set-tracktotal="num"     Sets the total number of tracks
     --set-auto-tracknum        Sets the track number automatically
     --set-title="title"        Sets the title tag in all files
     --set-date="year"          Sets the date tag in all files

     --basedir="dir"            Move file relative to "dir" while renaming
     --create-dirs              Create needed directories while renaming
 -d, --dry-run                  Do not change files, only show what would happen
     --force                    Allow overwriting of existing files
     --missing-format="fields"  Tags to look at when check for missing ones
     --no-id3v1                 Do not save id3v1 tags
     --no-id3v2                 Do not save id3v2 tags
     --no-suffix                Do not add suffix to format string if missing
     --normalize                Normalize title
     --profile="profile"        Use profile in ~/.daggerrc
 -q, --quiet                    Do not produce any output
     --recursive                Proceed recursive in all subdirectories
 -v, --verbose                  Be verbose

Format may have the following fields:

        %a: ARTIST          %l: TRACKTOTAL
        %b: ALBUM           %n: TRACKNUMBER
        %c: COMMENT         %t: TITLE
        %g: GENRE           %y: DATE
                            %x: ignore this

Contacting the author

Did you find a bug? Do you have any suggestions? Then do not hesitate to contact me: dagger(at)freewarepoint.de

Valid XHTML 1.1!