Awk合并2个文件中的字段
我想合并2个文件来合并每个文件中的一些字段 文件1:Awk合并2个文件中的字段,awk,Awk,我想合并2个文件来合并每个文件中的一些字段 文件1: 24sessions|!24sessions 27upng|!upng 2dehands.be|!2dehands 2manc|!uom 2ememain.be|!2ememain 文件2: Research|Academic|!uoftlib RRRR|AAAAAA|!uom Research|Academic|!upng Research|Academic|!ur 我尝试过此Awk,但阵列构建不正确: awk ' BEGIN{ FS=
24sessions|!24sessions
27upng|!upng
2dehands.be|!2dehands
2manc|!uom
2ememain.be|!2ememain
文件2:
Research|Academic|!uoftlib
RRRR|AAAAAA|!uom
Research|Academic|!upng
Research|Academic|!ur
我尝试过此Awk,但阵列构建不正确:
awk ' BEGIN{ FS=OFS="|" } NR==FNR{check[$0];next} { $3 in check; print $0, check[$0] } ' file1.txt file2.txt >out1.txt
这是所需的输出:
输出1:
请注意,最后两个字段之间的分隔符是“uuu”而不是“|”只是修改了一点您自己的命令:
awk ' BEGIN{ FS=OFS="|" } NR==FNR{check[$2]=$1;next}$3 in check{print $0 "_" check[$3] } ' file1.txt file2.txt > out1.txt
怎么了?您没有将第一个文件的第一列存储在
check
数组中,并且在插入和检索值时使用了错误的键。只需修改一点您自己的命令:
awk ' BEGIN{ FS=OFS="|" } NR==FNR{check[$2]=$1;next}$3 in check{print $0 "_" check[$3] } ' file1.txt file2.txt > out1.txt
怎么了?您没有将第一个文件的第一列存储在
check
数组中,并且在插入和检索值时使用了错误的键。OP中修复的两个文件中没有任何字符串Tech
或Startups
。谢谢。修复的两个文件中都没有字符串Tech
或Startups
在作品中。谢谢。