在 Bash/Shell 中使用 "Paste" 和“- - -”

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

我遇到了几行重新格式化文本文件的问题

paste - - - - < file.fq | cut -f 1,2 | ...

我不知道 - - - 对粘贴命令做了什么。破折号的数量有何影响?

每个-是一个输入文件的"name",说明应该使用标准输入。也就是说,它产生四列输出,每一列依次读取一行输入。比较 4 个破折号

$ printf 'a\nb\nc\nd\n' | paste - - - -
a   b   c   d

输入相同但只有 2 个破折号:

$ printf 'a\nb\nc\nd\n' | paste - -
a   b
c   d

请注意 shell 本身不涉及 - 的处理方式; paste- 解释为标准输入(尽管这是 POSIX 标准认可的约定)。