Linux 从文件中获取一行并作为列添加到另一个文件中

Linux 从文件中获取一行并作为列添加到另一个文件中,linux,bash,shell,sh,Linux,Bash,Shell,Sh,我有两个文件 文件A: Unix 文件B: A,B C,D E,f .,. .,. N,N 预期产出: A,B,Unix C,D,Unix E,f,Unix .,.,Unix .,.,Unix N,N,Unix 如何使用Linux shell脚本实现这一点?➜ a类 ➜ cat a A,B C,D E,f .,. .,. N,N ➜ cat f2 Unix ➜ awk 'BEGIN{getline f2<"f2"}; {printf("%s,%s\n",$0,f2);}' a

我有两个文件

文件A:

Unix
文件B:

A,B 
C,D
E,f
.,.
.,.
N,N
预期产出:

A,B,Unix  
C,D,Unix
E,f,Unix
.,.,Unix
.,.,Unix
N,N,Unix
如何使用Linux shell脚本实现这一点?

➜ a类
➜ cat a
A,B
C,D
E,f
.,.
.,.
N,N
➜ cat f2
Unix
➜ awk 'BEGIN{getline f2<"f2"}; {printf("%s,%s\n",$0,f2);}' a
A,B,Unix
C,D,Unix
E,f,Unix
.,.,Unix
.,.,Unix
N,N,Unix
A、 B C、 D E、 f .,. .,. N、 N ➜ f2类 Unix
➜ awk'BEGIN{getline f2假设
fileA
只包含一个单词,最好将其作为参数传递给
awk

awk -v v="Unix" 'BEGIN{FS=OFS=","}{$(NF+1)=v}1' fileB
如果此
fileA
包含更多单词,并且假设每行只有1个,则也可以使用此选项:

awk 'BEGIN{FS=OFS=","}NR==FNR{a[++i]=$1;next} {for(j=1; j<=i; j++) $(NF+1)=a[j]}1' fileA fileB

awk'BEGIN{FS=OFS=“,”}NR==FNR{a[++i]=$1;next}{for(j=1;j),然后有一个好的旧
粘贴选项:

$  cat file1
UNIX
$  cat file2
A,B
C,D
E,F
$ paste -d',' file2 <(yes `cat file1` | head -n $(cat file2 | wc -l))
A,B,UNIX
C,D,UNIX
E,F,UNIX
$cat文件1
UNIX
$cat文件2
A、 B
C、 D
E、 F

$paste-d'、'file2您自己尝试了什么?数字是
FileB
的一部分还是刚刚出现?不,实际上我已经添加了数字,以便在此处显示列。谢谢