复制文件的特定字段并将其粘贴到另一个现有文件的另一个特定字段 - lunx 命令
Copy a specific field of a file and paste it into another specific field of another existing file - lunx commands
大家下午好,我有两个这样的文件:
文件 1
45.999 60.9999
70.000 23.0090
文件 2
DATAFILE
pheno.txt
TRAITS
FIELDS_PASSED TO OUTPUT
WEIGHT(S)
RESIDUAL_VARIANCE
EFFECT
2 cross alpha
EFFECT
1 cross alpha
RANDOM
animal
FILE
pedigree.txt
SNP_FILE
snp_.txt
(CO)VARIANCES
并且需要像这样为文件 2 的特定位置传递文件 1 的值:
文件 2
DATAFILE
pheno.txt
TRAITS
FIELDS_PASSED TO OUTPUT
WEIGHT(S)
RESIDUAL_VARIANCE
45.999
EFFECT
2 cross alpha
EFFECT
1 cross alpha
RANDOM
animal
FILE
pedigree.txt
SNP_FILE
snp_.txt
(CO)VARIANCES
23.0090
记住,我想保留文件 2,只需添加文件 1 的值
set -- $(<file1)
sed -i "/RESIDUAL_VARIANCE/{n;c
};${s/[0-9].*//;t;a
}" file2
另见 man sed
:
-i edit files in place
大家下午好,我有两个这样的文件:
文件 1
45.999 60.9999
70.000 23.0090
文件 2
DATAFILE
pheno.txt
TRAITS
FIELDS_PASSED TO OUTPUT
WEIGHT(S)
RESIDUAL_VARIANCE
EFFECT
2 cross alpha
EFFECT
1 cross alpha
RANDOM
animal
FILE
pedigree.txt
SNP_FILE
snp_.txt
(CO)VARIANCES
并且需要像这样为文件 2 的特定位置传递文件 1 的值:
文件 2
DATAFILE
pheno.txt
TRAITS
FIELDS_PASSED TO OUTPUT
WEIGHT(S)
RESIDUAL_VARIANCE
45.999
EFFECT
2 cross alpha
EFFECT
1 cross alpha
RANDOM
animal
FILE
pedigree.txt
SNP_FILE
snp_.txt
(CO)VARIANCES
23.0090
记住,我想保留文件 2,只需添加文件 1 的值
set -- $(<file1)
sed -i "/RESIDUAL_VARIANCE/{n;c
};${s/[0-9].*//;t;a
}" file2
另见 man sed
:
-i edit files in place