tv_split man page
tv_split — Split XMLTV listings into separate files by date and channel.
tv_split --output TEMPLATE [FILE...]
Read XMLTV listings and split them into some number of output files. The output file chosen for each programme is given by substitutions on the filename template supplied. You can split listings by time and by channel.
The TEMPLATE is a filename but substitutions are applied: first
%channel is replaced with the id of a programme's channel, and then Date::Manip substitutions (which broadly follow date(1)) are applied based on the start time of each programme. In this way each programme is written to a particular output file. When an output file is created it will also contain all the channel elements from the input.
One or more input files can be given; if more than one then they are concatenated in the same way as tv_cat. If no input files are given then standard input is read.
"tv_split --output %channel-%Y%m%d.xml" to separate standard input into separate files for each day and channel. The files will be created with names like bbc1.bbc.co.uk-20020330.xml.
Ed Avis, firstname.lastname@example.org.