【发布时间】:2020-02-05 17:35:23
【问题描述】:
我想将 file.txt 的第 1 列与 test.txt 的第 2 列相匹配,以将 test.txt 的第 2 列替换为 files.txt 中相应的第 1,2 和 3 列。有人可以建议使用 bash 脚本的最佳方法吗?
以下是 2 个文件: test.txt
pcs_err 102 0 1580917083
too_long 103 0 1580917083
emc_out 103 0 1580917083
too_long 104 0 1580917083
emc_out 104 0 158091708
link_failt 104 0 1580917083
loss_sig 104 0 1580917083
文件.txt
102 1 10 0efd40 N16 Online F-Port 52:4a
103 1 11 0e5e00 N16 Online F-Port 20:01
104 2 0 0e2200 N16 Online F-Port 20:01
105 2 1 0e5700 N16 Online F-Port 20:01
所需的输出如下所示,
pcs_err.1.10.102 0 1580917083
too_long.1 11.103 0 1580917083
emc_out.1.11.103 0 1580917083
too_long.2.0.104 0 1580917083
emc_out.2.0.104 0 158091708
link_failt.2.0.104 0 1580917083
loss_sig.2.0.104 0 1580917083
【问题讨论】:
-
请发布您想要实现的输出。将
join与-o一起使用。 -
欢迎来到 SO。因此,我们确实鼓励用户添加他们为解决自己的问题而付出的努力,因此请在您的问题中添加相同的内容。此外,您的示例预期输出也不清楚您想要获得它。
标签: bash shell awk sed data-manipulation