Shell 使用awk或sed根据日期合并2个文件

Shell 使用awk或sed根据日期合并2个文件,shell,sed,awk,Shell,Sed,Awk,我有2个文件,格式如下 文件1的内容 02-01-12 28.46 02-02-12 27.15 02-03-12 47.54 02-04-12 27.36 02-05-12 47.57 02-06-12 27.01 02-07-12 27.41 02-08-12 27.27 02-09-12 27.39 02-01-12 11.46 02-02-12 12.15 02-03-12 14.54 02-04-12 15.36 02-05-12 17.57 02-06-12 17.01 02-07

我有2个文件,格式如下

文件1的内容

02-01-12 28.46
02-02-12 27.15
02-03-12 47.54
02-04-12 27.36
02-05-12 47.57
02-06-12 27.01
02-07-12 27.41
02-08-12 27.27
02-09-12 27.39
02-01-12 11.46
02-02-12 12.15
02-03-12 14.54
02-04-12 15.36
02-05-12 17.57
02-06-12 17.01
02-07-12 17.41
02-08-12 21.27
02-09-12 17.39
文件2的内容

02-01-12 28.46
02-02-12 27.15
02-03-12 47.54
02-04-12 27.36
02-05-12 47.57
02-06-12 27.01
02-07-12 27.41
02-08-12 27.27
02-09-12 27.39
02-01-12 11.46
02-02-12 12.15
02-03-12 14.54
02-04-12 15.36
02-05-12 17.57
02-06-12 17.01
02-07-12 17.41
02-08-12 21.27
02-09-12 17.39
我想根据以下日期将它们合并成一个文件

02-01-12 28.46 11.46
02-02-12 27.15 12.15
02-03-12 47.54 14.54
....................
....................
....................

请帮忙!!提前感谢。

您想要的是
加入

从手册页:

连接-将两个文件的行连接到公共字段上

尝试:


您想要的是加入:

从手册页:

连接-将两个文件的行连接到公共字段上

尝试:


使用粘贴的完整实际工作示例:

paste FILE1 <(cut -d " " -f2 FILE2)

使用粘贴的完整实际工作示例:

paste FILE1 <(cut -d " " -f2 FILE2)
仅使用sed:

/bin/sed -n '
p
R f2
' f1 |
/bin/sed 'N;s/\n[^ ]*//;'
仅使用sed:

/bin/sed -n '
p
R f2
' f1 |
/bin/sed 'N;s/\n[^ ]*//;'

每个文件每个日期只有一个时间条目是固定的吗?抱歉,刚刚固定了我问题的格式是固定的每个文件每个日期只有一个时间条目吗?抱歉,刚刚固定了我问题的格式question@KarlNordström,文件顺序很好。file2在OP的示例中排名第二<代码>02-01-12 28.46 11.46分解为1<代码>02-01-12-通用部分,2<代码>28.46-来自文件1、3的部分<代码>11.46-部分来自文件2。@Karl Nordström,文件顺序很好。file2在OP的示例中排名第二<代码>02-01-12 28.46 11.46分解为1<代码>02-01-12-通用部分,2<代码>28.46-来自文件1、3的部分<代码>11.46-文件2的一部分。