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