Acho que você deseja o link "Substituição de processo". Ele também funciona no zsh, embora tenha mais opções e a sintaxe seja diferente.
Cria um pseudo arquivo ( /dev/fd/something
) para cada substituição. É muito útil. O comando só pode ler como um fluxo, o que significa que não pode ir e voltar com fseek. Ele precisa lê-lo como um fluxo de bytes, como um pipe.
Seus exemplos funcionam como uma substituição de processo:
cat <(echo abc) <(echo xyz)
paste -d, <(cut -f2 -d, file1) <(cut -f1 -d, file2)
Pense nisso como uma ferramenta para usar um processo e fingir ser um arquivo sem arquivos temporários.
(da minha resposta anterior )