gpt4 book ai didi

bash - 使用 Bash 在两个文件之间逐列合并

转载 作者:行者123 更新时间:2023-12-04 10:01:05 24 4
gpt4 key购买 nike

使用 Bash 在两个文件之间逐列合并

大家好,

我有两个文件,我想在 bash 中逐列合并它们。我已经很好看了,但找不到答案。下面是示例输入文件和所需的输出。

file1.txt
A,S,G,S,G
K,A,G,A,G
K,S,A,S,A

file2.txt
K,S,B,S,G
K,S,G,D,G
K,S,G,S,E

expected-output.txt
AK,SS,GB,SS,GG
KK,AS,GG,AD,GG
KK,SS,AG,SS,AE

输入文件集将具有可变数量的字段和可变数量的行(但是这些在输入文件集内将始终相同)

非常感谢!

最佳答案

更通用的解决方案和以下 Input_files 中的 N 个字段可能有效。

awk '
BEGIN{
FS=OFS=","
}
FNR==NR{
for(i=1;i<=NF;i++){
array[FNR,i]=$i
}
next
}
{
for(i=1;i<=NF;i++){
$i=array[FNR,i] $i
}
}
1
' file1 file2



您可以尝试以下,为了好玩 + 仅使用显示的示例编写和测试,如果您的真实文件不同,则可能无法正常工作。
xargs -n5 < <(paste -d',' <(xargs -d',' -n1 < file1) <(xargs -d',' -n1 < file2)) |
awk '{gsub(/,/,"@");gsub(/ /,",");gsub(/@/,"")} 1' |
sed '$ d'

关于bash - 使用 Bash 在两个文件之间逐列合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61816829/

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