gmx trjcat concatenates several input trajectory files in sorted order. In case of double time frames the one in the later file is used. By specifying -settime you will be asked for the start time of each file. The input files are taken from the command line, such that a command like gmx trjcat -f *.trr -o fixed.trr should do the trick. Using -cat, you can simply paste several files together without removal of frames with identical time stamps.
One important option is inferred when the output file is amongst the input files. In that case that particular file will be appended to which implies you do not need to store double the amount of data. Obviously the file to append to has to be the one with lowest starting time since one can only append at the end of a file.
If the -demux option is given, the N trajectories that are read, are written in another order as specified in the .xvg file. The .xvg file should contain something like:
0 0 1 2 3 4 5 2 1 0 2 3 5 4 Where the first number is the time, and subsequent numbers point to trajectory indices. The frames corresponding to the numbers present at the first line are collected into the output trajectory. If the number of frames in the trajectory does not match that in the .xvg file then the program tries to be smart. Beware.