如何在没有冗余的情况下组合所有输入参数?

How do I get all input args combined without redundancy?

我想获取所有组合而不替换 args(文件)A、B 和 C。

也就是我要得到的组合

A B
B C
A C

没有多余的像 B A

是否可以使用 GNU parallel 轻松做到这一点?

我当前的命令如下:

 parallel 'echo {1} {2}' ::: (ls *txt) ::: (ls *txt)

但这会打印所有组合。

Ps。文件比三个多很多,所以请只提供一般解决方案。

没有优雅的解决方案:

parallel 'test "{1}" \< "{2}" && echo {1} {2}' ::: *txt ::: *txt