Cat/File Descriptor Question

For the command below, I need to understand what exactly the command does and provide an examples for which the output will be saved to file save2... From my understanding, if the file provides an error in the first half of the pipe, it'll save to save1 and will never give an error to save to save2. I'm just confused as to what exactly would cause it to save anything to save2.

  1. Relevant commands, code, scripts, algorithms:
cat 2>save1 0<memo | sort 2>save2 1>letter

Any help with this or if anyone can provide a tutorial that goes into examples using a combination of cat, pipes and file descriptors I would really appreciate it!

  1. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number:

Texas State University, San Marcos, TX, USA, Professor Quijun Gu, CS 4350

Assuming that the file memo is a non-empty text file containing:

1
3
5
6
4
2

and that there is no file named none , what output would you expect to get in the files named save1 , save2 , and letter if you were to run the pipeline:

cat memo none 2>save1 | sort - none 2>save2 > letter

? If you then actually run this pipeline with the input files set up as described above, did you get the output you expected? If not, what did you get and what did you expect to get?

I would start like I would in any human language: analyse the given phrase and see it composition, then would test the bits/blocks I understand.( or not...).

  • how many processes have we here?

If more than one
what does the first - Can I test and se what it does
What should do the second - can I test? If not what am I expecting it to produce, then get the code working and see if I am right if not, why?
etc...