gpt4 book ai didi

linux - bash中的行乘法

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:45:02 29 4
gpt4 key购买 nike

我想做乘法之类的东西:

文件1:

aa
bb

文件2:

cc
dd

文件 3:

eee
fff
ggg

我想要这样的结果:

aa cc eee
aa cc fff
aa cc ggg
bb dd eee
bb dd fff
bb dd ggg

File1 & File2 的第一个元素将乘以 File3 的每个元素,同样 File1 和 File2 的第二个元素将乘以 File3 的每个元素。

最佳答案

这会起作用:

$ join -j 9999 <(paste file1 file2) file3
aa cc eee
aa cc fff
aa cc ggg
bb dd eee
bb dd fff
bb dd ggg

它加入了一个不存在的字段(字段 9999),它创建了输入文件的笛卡尔积。对于输入文件,paste file1 file2 将前两个文件合并为一个,join 使用进程替换。

一个小问题是每行都引入了一个空格;要摆脱它,您可以通过管道传输到 sed:

join -j 9999 <(paste file1 file2) file3 | sed 's/^ //'

或指定输出格式:

join -j 9999 -o 1.1,1.2,2.1 <(paste file1 file2) file3

关于linux - bash中的行乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36408458/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com