【发布时间】:2018-11-13 13:20:20
【问题描述】:
我有独特的行动要做。我有这两个文件:
文件1:
something SOME.THING-AGAIN-WHATEVER.SUPPORT irrelevant_column3_text
文件2:
SOMETHING-NEW-SOME-THING-AGAIN-WHATEVER-SUPPORT
file1 中的第 2 列(某些东西....) 与 filere2 (SOMETHING...) 中的列非常相似,除了: - 它有点而不是破折号 - 它从开头和结尾错过了文本的某些部分。
我想得到的是这样的:
something SOME.THING-AGAIN-WHATEVER.SUPPORT irrelevant_column3_text SOMETHING-NEW-SOME-THING-AGAIN-WHATEVER-SUPPORT
所以四列文件,在正确的位置附加来自 file2 的输入...
我认为这可以使用 awk 来完成,但这绝对超出了我的技能...... 提前致谢。
【问题讨论】:
-
抱歉,这不是 StackOverflow 的工作方式。 “我想做 X,请给我提示和/或示例代码”形式的问题被认为是题外话。请访问help center并阅读How to Ask,尤其是阅读Why is “Can someone help me?” not an actual question?
-
好吧,你没有展示你尝试过的东西。这样做:对于 file1 中的每一行,获取第二列的值。然后从列中删除点并在 file2 中搜索这样的值。如果找到它,请将其附加到该行。或者,您可以从 file1 第二列创建一个 file3,甚至使用 join 来合并文件。
-
阅读
cut和paste。如果您是新手,可能需要几个步骤,但您可以完成。 -
Paul 如果这是复制和粘贴的问题,我不会把它放在这里......我不明白你为什么这么不愉快......@Kamil,我在想你有什么建议,但问题就在这里:“从列中删除点并搜索”...好吧,我可以轻松地使用 - 例如 - sed 和“echo -n”我可以在每个文件旁边都有来自这些文件的列其他,但我将如何“返回”到破折号而不是点?我想说的是,按照您所描述的方式,我将“破坏”file1 的列。我该如何克服呢?
-
@IrkaIrenka - 使用极其有限的数据集和一个样本,不可能提出一个可靠的解决方案;这需要对 file1 或 file2 的第 2 列中的值进行预处理。即使这不是 kvantour 指出的题外话,问题也将模糊处理。