mp3find - Find MP3 files based on their ID3 tags or info
$ mp3find ~/cds -i -artist beatles -sort year,album,tracknum -printf '%2n. %a - %t (%b: %y)'
1. The Beatles - Magical Mystery Tour (Magical Mystery Tour: 1967)
2. The Beatles - The Fool on the Hill (Magical Mystery Tour: 1967)
3. The Beatles - Flying (Magical Mystery Tour: 1967)
4. The Beatles - Blue Jay Way (Magical Mystery Tour: 1967)
5. The Beatles - Your Mother Should Know (Magical Mystery Tour: 1967)
6. The Beatles - I Am The Walrus (Magical Mystery Tour: 1967)
# shuffle and play your entire mp3 collection
$ mp3find | xargs madplay -z
# ...or just your Sabbath
$ mp3find -i -artist 'black sabbath' | xargs madplay -z
$ mp3find [options] [directory] [<-field> <pattern> [<-field> <pattern> ...]]
The real guts of the operation are in MP3::Find.
- "-ignore-case", "-i"
- Case insensitive matching.
- "-exact-match", "-w"
- All search patterns must match the entire value, and not just a substring.
This has the same effect as putting a "^" and "$"
around each pattern.
- Which ID3 fields to sort the results by; separate multiple fields with
commas. The default behavior just returns the filenames in the order that
File::Find finds them.
- The output format for each file found. The available format codes are:
%a - artist
%t - title
%b - album
%n - track number
%y - year
%g - genre
%% - literal '%'
Numeric modifiers may be used; they are interpreted like modifiers to the %s
code in Perl's "printf" function.
If no "-printf" option is used, the full path to the file is
- "-<field> <pattern> [patterns...]"
- The fields you are searching on. More than one pattern for a given field
are combined with 'OR', while the fields to be matched are 'AND'-ed
together. For the list of recognized fields, see MP3::Find.
Peter Eichman <email@example.com>
Copyright (c) 2006 by Peter Eichman. All rights reserved.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.