将文件A的内容追加到文件B中每行的末尾?庆典

use*_*643 2 bash shell awk sed

我真的不能得到这一个.

文件A有这个:

1.1.1.1
2.2.2.2
3.3.3.3
Run Code Online (Sandbox Code Playgroud)

等等..

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

oneoneoneone
twotwotwotwo
3ee3ee3ee3ee
Run Code Online (Sandbox Code Playgroud)

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

1.1.1.1 oneoneoneone
2.2.2.2 twotwotwotwo
3.3.3.3 3ee3ee3ee3ee
Run Code Online (Sandbox Code Playgroud)

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

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

有什么建议?

Wil*_*ell 5

如果要将fileB中的行追加到fileA中的行(如所需的输出所示),您只需执行以下操作:

paste fileA fileB
Run Code Online (Sandbox Code Playgroud)

这使用了分隔符的选项卡,所以您可能更喜欢

paste -d ' ' fileA fileB
Run Code Online (Sandbox Code Playgroud)

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

awk '{ getline b < "fileB"; print $0, b}' fileA
Run Code Online (Sandbox Code Playgroud)

这可能是可能的sed,但这是不可取的.与您在循环中尝试的类似,您还可以执行以下操作:

while read b; do read -u 4 a; echo $a $b; done < fileb 4< filea
Run Code Online (Sandbox Code Playgroud)