Shell awk向现有列添加值

Shell awk向现有列添加值,shell,awk,Shell,Awk,我有一个包含标题的文件: Name State PhoneNum Gender 标题以选项卡分隔 我在shell$GenderArray中有一个数组,其中包含一些gender 我想将$GenderArray附加到文件中,以便: Name State PhoneNum Gender M F F 我目前正在数组中循环,如下所示: for i in ${GenderArray[@

我有一个包含标题的文件:

Name State PhoneNum Gender
标题以选项卡分隔

我在shell
$GenderArray
中有一个数组,其中包含一些gender

我想将
$GenderArray
附加到文件中,以便:

Name State PhoneNum Gender
                    M
                    F
                    F
我目前正在数组中循环,如下所示:

for i in ${GenderArray[@]};
do
    //APPENDED AWK CALL WOULD GO HERE?
done

您只需使用带有一些选项卡的
打印

{ cat file; printf "\t\t\t\t%s\n" "${GenderArray[@]}"; }

Name    State   PhoneNum        Gender
                                M
                                F
                                F

您可以将
GenderArray
的内容打印为一列, 并使用
paste
将其附加到文件:

printf "%s\n" "${GenderArray[@]}" | paste file.in - > file.out
当然未测试,因为您没有提供任何样本输入/输出供我们测试

printf "%s\n" "${GenderArray[@]}" |
awk 'NR==FNR{g[NR+1]="\t" $0; next} {print $0 g[FNR]}' - file