我有两个具有相似 ID 标签的相当大的 .txt 文件。我需要做的是从一个文件中获取 ID 标签,在另一个文件中进行匹配,然后将 ID 替换为第一个文件中的名称。我需要为 1000 多个标签完成此操作。关键是要完全匹配第一个文件中的部分 ID 标签名称并替换它。
每行有一个唯一的 ID 标签,并且两个文件之间总是完全匹配(对于位置 [6-16] = "10737.G1C22");匹配是分散的,因此 File1.txt 中的第 1 行可能与 File2.txt 中的第 504 行匹配
两个文件中的行顺序不能排序,必须保持
例如:
File1.txt =
TYPE1_10737.G1C22 ---------
...
File2.txt =
10737.G1C22 ----------
我需要 File1.txt 中的名称,特别是“10737.G1C22”来在 File2.txt 中找到它的完全匹配并将其替换为“TYPE1_10737.G1C22”。
然后编辑看起来像这样,现在 File2.txt 中的名称根据来自 File1.txt 的匹配项进行了更改:
File2.txt =
TYPE1_10737.G1C22 ---------
...
我尝试了一些 sed 功能,但卡住了。重要的是,一旦找到完全匹配的名称,只有名称的前 6 个字符会被更改,而不是其他任何字符。有超过 1000 多个 ID 标签需要匹配和更改。
我正在考虑告诉它完全匹配位置 [6-16] 并将其替换为 File1.txt 中的 [0-16] 的代码。
任何帮助深表感谢。这甚至可能吗?我也愿意接受其他建议。谢谢你。