这类似于
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
答案 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)