系统相关
首页 > 系统相关> > linux – 成对的不同文件中所有可能的单词排列

linux – 成对的不同文件中所有可能的单词排列

作者:互联网

我有多个文件,比方说file1,file2等.每个文件在每一行都有一个单词,如:

file1 file2 file3
one   four  six
two   five
three

我想要的是将它们组合成一个新的文件4,每个可能的排列(不重复)成对.喜欢

onetwo
onethree
onefour
onefive
...
twothree
...
onefour
...
fourone
...

如何使用Linux命令实现这一点?

解决方法:

用这个:

cat FILE1 FILE2 FILE3 | \
    perl -lne 'BEGIN{@a}{push @a,$_}END{foreach $x(@a){foreach $y(@a){print $x.$y}}}'

输出:

oneone
onetwo
onethree
onefour
onefive
onesix
oneseven
twoone
twotwo
twothree
twofour
twofive
twosix
twoseven
threeone
threetwo
threethree
threefour
threefive
threesix
threeseven
fourone
fourtwo
fourthree
fourfour
fourfive
foursix
fourseven
fiveone
fivetwo
fivethree
fivefour
fivefive
fivesix
fiveseven
sixone
sixtwo
sixthree
sixfour
sixfive
sixsix
sixseven
sevenone
seventwo
seventhree
sevenfour
sevenfive
sevensix
sevenseven

标签:linux,command-line,text-processing,permutations
来源: https://codeday.me/bug/20190814/1654998.html