tv_cat man page
tv_cat — Concatenate XMLTV listings files.
tv_cat [--help] [--utf8] [--output FILE] [FILE...]
Read one or more XMLTV files and write a file to standard output whose programmes are the concatenation of the programmes in the input files, and whose channels are the union of the channels in the input files.
--output FILE write to FILE rather than standard output
The treatment of programmes and channels is slightly different because for programmes, the ordering is important (typically programmes are processed or displayed in the same order as they appear in the input) whereas channels are just a set indexed by channel id. There is a warning if channel details clash for the same id.
One more wrinkle is the credits (source, generator and so on), they are taken from one of the files and then there's a warning if the other files differ. If two input files have different character encodings, then it is not meaningful to combine their data (without recoding or other processing) and tv_cat die with an error message.
But if you do want to combine multiple input files with different character encodings then you can use the --utf8 command-line parameter which will create a combined output file in UTF-8 format. (Note: it is not safe to combine mixed encodings to anything other than UTF-8 so no other output encoding is provided for.) (Note 2: any input file which does not have an encoding specified in the xml tag is not only naughty but is assumed to already be UTF-8, which may not be true!)
This tool is rather useless, but it makes a good testbed for the XMLTV module.
Ed Avis, email@example.com