Q:

Use of "Paste" with "- - -" in Bash/Shell

I came across several lines for reformatting text files like this 
paste - - - - < file.fq | cut -f 1,2 | ...

I couldn't figure out what the - - - does to the paste command. How does the number of dashes matter?

A:

Each - is the "name" of an input file, indicating that standard input should be used. That is, it produces four columns of output, which each column reading, in turn, one line of input. Compare 4 dashes
$ printf 'a\nb\nc\nd\n' | paste - - - -
a   b   c   d

with the same input but only 2 dashes:
$ printf 'a\nb\nc\nd\n' | paste - -
a   b
c   d

Note that the shell itself is not involved in how - is treated; it is paste that interprets a - to mean standard input (though it is a convention endorsed by the POSIX standard).

