Linux 带列值的“grep”并附加新列bash/awk/grep?

Linux 带列值的“grep”并附加新列bash/awk/grep?,linux,bash,awk,grep,Linux,Bash,Awk,Grep,我有独特的行动要做。我有两个文件: 文件1: something SOME.THING-AGAIN-WHATEVER.SUPPORT irrelevant_column3_text 文件2: SOMETHING-NEW-SOME-THING-AGAIN-WHATEVER-SUPPORT 文件1中的第2列有些东西。。。。 与filre2某物中的列非常相似,除了: -它有点而不是破折号 -它遗漏了一篇文章从开头到结尾的部分 我想得到的是: something SOME.THING-AGAIN-W

我有独特的行动要做。我有两个文件:

文件1:

something SOME.THING-AGAIN-WHATEVER.SUPPORT irrelevant_column3_text
文件2:

SOMETHING-NEW-SOME-THING-AGAIN-WHATEVER-SUPPORT
文件1中的第2列有些东西。。。。 与filre2某物中的列非常相似,除了: -它有点而不是破折号 -它遗漏了一篇文章从开头到结尾的部分

我想得到的是:

something SOME.THING-AGAIN-WHATEVER.SUPPORT irrelevant_column3_text SOMETHING-NEW-SOME-THING-AGAIN-WHATEVER-SUPPORT
所以,四列文件,在正确的位置附加来自文件2的输入

我假设这可以用awk来完成,但这肯定超出了我的能力范围。。。
提前感谢。

我可以通过简单的grep和echo实现我想要的:

for i in $(file1 ); do echo -n "$i " ; grep $(echo $i|awk '{print $1}' |sed s'/\./-/g') file2;done 

希望这对某人有所帮助。

对不起,StackOverflow不是这样工作的。我想做X的形式问题,请给我提示和/或示例代码被认为是离题的。请访问并阅读,尤其是阅读好,你没有展示你所做的尝试。这样做:对于file1中的每一行,获取第二列的值。然后从列中删除点并在file2中搜索该值。如果找到它,请将其附加到行中。或者,您可以从file1second列创建file3,甚至使用join合并文件。请阅读剪切和粘贴。如果你是新来的,这可能需要一些步骤,但你可以完成。保罗如果这是复制粘贴的问题,我不会把它放在这里…我不明白你为什么这么不高兴@Kamil,我在考虑你的建议,但问题来了:从列中删除点并搜索…好的,我可以很容易地使用-例如-sed和echo-n,我可以让这些文件中的列彼此相邻,但是我如何返回到虚线而不是点?我想说的是,按照您描述的方式,我将在file1的专栏中介绍。我怎样才能克服这个问题?@IrkaIrenka——有了这个极其有限的数据集和一个样本,就不可能拿出一个健壮的解决方案;这需要对file1或file2的第2列中的值进行预处理。即使这并不像克万托尔指出的那样离题,这个问题也会变得模糊不清。