gpt4 book ai didi

linux - 如何将多个txt文件加入到基于列?

转载 作者:IT王子 更新时间:2023-10-29 01:22:21 25 4
gpt4 key购买 nike

我有 txt 文件,所有这些文件都在同一个目录中。每个都有 2 列数据。它们看起来像这样:

Label1 DataA1
Label2 DataA2
Label3 DataA3

我想使用 join 来制作一个像这样的大文件。

Label1 DataA1 DataB1 DataC1
Label2 DataA2 DataB2 DataC2
Label3 DataA3 DataB3 DataC3

目前,我有

join fileA fileB | join - fileC

但是,我的文件太多,无法列出所有文件 - 有没有办法为此类命令编写循环?

最佳答案

使用 bash,您可以创建一个脚本,为连接执行递归管道执行:

#!/bin/bash

if [[ $# -ge 2 ]]; then
function __r {
if [[ $# -gt 1 ]]; then
exec join - "$1" | __r "${@:2}"
else
exec join - "$1"
fi
}

__r "${@:2}" < "$1"
fi

并将文件作为参数传递给脚本,例如:

bash script.sh file*

或者像这样的排序形式:

find -type f -maxdepth 1 -name 'file*' -print0 | sort -z | xargs -0 bash script.sh

关于linux - 如何将多个txt文件加入到基于列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18152187/

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