将文件中的一列附加到文件末尾

时间:2015-02-24 00:59:24

标签: bash

这类似于

How to add a column from a file to another file

但在这种情况下,我想只使用5列文件B中的第5列。两个标签分开,长度相同。有没有办法用awk,粘贴或其他东西做到这一点?

file A
str str str 
str2 str2 str2

fileB
as at aw ay ao 
re rt ty yu ui

oFile
str str str ao
str2 str2 str2 ui

ExtraInfo,我创建了一些类似的文件,我只想要大多数列中的一列。示例完整脚本,obv不对;

 for pheno in $(seq 1 $nbGroups)
 do
    batch=$(sed -n $pheno'p' $Names)
    ## do some stuff to $batch

if [ $pheno=1 ] 
then
    awk '{ print $1, $1, $5}' $batch > $bDir"NewFile"
fi 
if [ $pheno>1 ] 
then
    awk '{ print $5}' $batch >> $bDir"File"
fi 

done

2 个答案:

答案 0 :(得分:2)

一种简单的方法,使用bash进程替换

 paste file1 <(cut -f5 file2)

没有bash扩展名:

 cut -f5 file2 | paste file1 -

答案 1 :(得分:1)

您可以尝试下面的内容。

$ paste -d'\t' file1 <(awk '{print $NF}' file2)
str str str  ao
str2 str2 str2 ui

OR

$ paste -d'\t' file1 <(awk '{print $5}' file2)
str str str  ao
str2 str2 str2 ui

OR

paste file1 <(awk '{print $5}' file2)