我试图并排捕获多个文本文件的最后两列。这些文件位于各种类型文件的目录中。所有文件都有> 2列,但不保证所有文件都有相同的列数。
例如,如果我有:
FILE1.TXT
1 a b J H
2 b c E E
3 c d L L
4 d e L L
5 e f O O
FILE2.TXT
1 a b M B
2 b c O E
3 c d O E
我想:
J H M B
E E O E
L L O E
L L
O O
我最接近的是:
awk '{print $(NF-1), "\t", $NF}' *.txt
这几乎是我想要的。
对于连接,我正在考虑使用here进行连接
pr -m -t one.txt two.txt
答案 0 :(得分:0)
join -a1 -a2 one.txt two.txt | cut -d' ' -f4,5,8,9
答案 1 :(得分:0)
awk 'NR==FNR{a[NR]=$(NF-1)" "$NF;next}{print $(NF-1),$NF,a[FNR]}' file2.txt file1.txt
测试:
> cat temp2
1 a b M B
2 b c O E
3 c d O E
> cat temp1
1 a b J H
2 b c E E
3 c d L L
4 d e L L
5 e f O O
> awk 'NR==FNR{a[NR]=$(NF-1)" "$NF;next}{print $(NF-1),$NF,a[FNR]}' temp2 temp1
J H M B
E E O E
L L O E
L L
O O
>