flipflip's Podcast downloader is a script that downloads podcasts.
Is has options to limit the number of podcasts to download, to rename the downloaded files based on rules, and to tag the MP3 files with custom content or with content derived from the feed metadata.
The program is very small and has very few dependencies (id3v2 and wget).
Usage: ffpodcast.sh [options] | -h
-p path Sets the directory to download podcasts to
(defaults to ./)
-n int Number of podcasts to download. 0 means all available.
(defaults to 0)
-w args Specify additional wget args.
(defaults to -q --timeout=15 --tries=2)
-s expr Specifies file rename expression of the form regex/repl.
regex is an extended regular expressen as described in
bash(1). See the examples below.
-t rule If set the tags are set according to the rule specified.
See 'Tagging' below.
-h Prints usage info (this screen).
-q Sets quiet operation.
-d Set debug mode (disables -q).
Debug and error messages and warnings are sent to stderr.
rule = title%artist%album%year%genre%comment, where each field can be
a string which is used as the tag. If the string is empty the respective
tag field will not be modified.
Some special strings are recognised (not for year):
chtitle = channel title
chdesc = channel description
chauthor = channel author
title = podcast title
desc = podcast description
author = podcast author
subtitle = podcast subtitle
summary = podcast summary
empty = writes one space (' ') into the field
n/a = writes 'n/a' into the field
The files /etc/ffpodcastrc and ~/.ffpodcastrc are sourced by the script if they exist.
WGET, ID3V2, DU, MV, RM may point to the appropriate binaries. TMP, COLUMNS
ffpodcast.sh -s 'today_(....)(..)(..).*.mp3/Today_1-2-3.mp3' ...
· GNU bash >= 3.2, GNU wget >= 1.10.2,
· GNU du, mv and rm (i.e. GNU coreutils),
· id3v2 >= 0.1.11 (with id3lib >= 3.8.3)