.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "TV_CAT 1p" .TH TV_CAT 1p "2019-03-01" "perl v5.28.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" tv_cat \- Concatenate XMLTV listings files. .SH "SYNOPSIS" .IX Header "SYNOPSIS" tv_cat [\-\-help] [\-\-utf8] [\-\-output \s-1FILE\s0] [\s-1FILE...\s0] .SH "DESCRIPTION" .IX Header "DESCRIPTION" Read one or more \s-1XMLTV\s0 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. .PP \&\fB\-\-output \s-1FILE\s0\fR write to \s-1FILE\s0 rather than standard output .PP 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. .PP 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. .PP 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 \s-1UTF\-8\s0 format. (Note: it is not safe to combine mixed encodings to anything other than \s-1UTF\-8\s0 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 \s-1UTF\-8,\s0 which may not be true!) .PP This tool is rather useless, but it makes a good testbed for the \s-1XMLTV\s0 module. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBxmltv\fR\|(5). .SH "AUTHOR" .IX Header "AUTHOR" Ed Avis, ed@membled.com