3

我真的拿不到这个。

文件 A 有这个:

1.1.1.1
2.2.2.2
3.3.3.3

ETC..

文件 B 将始终具有完全相同数量的行,并且它们始终对应:

oneoneoneone
twotwotwotwo
3ee3ee3ee3ee

我想将文件 A 附加到文件 B 所以它看起来像:

1.1.1.1 oneoneoneone
2.2.2.2 twotwotwotwo
3.3.3.3 3ee3ee3ee3ee

这就是我所拥有的,但没有像它应该的那样工作:

对于`cat /tmp/fileB中的z;做 sed "s/(.*)/\1$z/" < /tmp/fileA >> /tmp/c;done

有什么建议么?

4

1 回答 1

5

如果要将 fileB 中的行附加到 fileA 中的行(如您所需的输出所示),您可以简单地执行以下操作:

paste fileA fileB

它使用一个标签作为分隔符,所以你可能更喜欢

paste -d ' ' fileA fileB

如果你想这样做awk,你可以这样做:

awk '{ getline b < "fileB"; print $0, b}' fileA

这可能与sed,但这是不可取的。与您似乎正在尝试使用循环类似,您也可以执行以下操作:

while read b; do read -u 4 a; echo $a $b; done < fileb 4< filea
于 2013-09-10T02:22:14.880 回答