Just to add to what Donald said, a one-line shorthand to achieve the desired behaviour would be:
tckedit -maxlength 20 file.tck tmp.tck && tckstats tmp.tck && rm tmp.tck
This line is basically identical to the pipe you suggested, in the sense that
tckedit outputs a temporary file, which is then read by
tckstats and cleaned up at the end. The main difference is that the temporary file is given an explicit name (
tmp.tck in this case), which forces it to use the
.tck file format.
P.S.: Using the
&& operators ensure that the subsequent commands are only executed if the previous commands were successful (i.e, returned without error).