gpt4 book ai didi

linux - 将一列从一个表添加到另一个表的特定位置

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:33 24 4
gpt4 key购买 nike

我有一个由制表符分隔的表,以及从另一个文件创建的一列。这些表格如下所示:

表 1:

col1 col2 col3
ch NA 3
ch NA 4
ch NA 5

表 2:

colX
AA
AA
AA

期望的输出:

col1 colX col2 col3
ch AA NA 3
ch AA NA 4
ch AA NA 5

我知道粘贴可以将列添加到表格的末尾或开头,但是,如何将列添加到我想要的其他表格的任何位置?我想使用 bash 命令而不是 R,因为文件很大,我不想将它们上传到 R。

最佳答案

您可以尝试以下操作吗?

awk 'FNR==NR{a[FNR]=$0;next} {$1=$1 OFS a[FNR]} 1' table2 table1

输出如下。

col1 colX col2 col3
ch AA NA 3
ch AA NA 4
ch AA NA 5

说明:现在也添加说明。

awk '
FNR==NR{ ##FNR==NR is condition which will be TRUE when first Input_file named table2 is being read.
a[FNR]=$0 ##Creating an array named a wohse index is FNR and value is current line value.
next ##next will skip all following statements which be ONLY read when 2nd Input_file named table1 is being read.
}
{
$1=$1 OFS a[FNR] ##Re-creating first field where it concatenates its own value with array a value whose index is FNR.
}
1 ##mentioning 1 will print edited or non-edited value of current line of table1 Input_file.
' table2 table1 ##Mentioning Input_file names here.

关于linux - 将一列从一个表添加到另一个表的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52345678/

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