Пробовал с помощью команд, указанных ниже, тоже работает нормально
Step1
awk 'NR==FNR{a[$5];next}($1 in a){print $0}' file1 file2 > u.txt
count=`awk '{print NR}' u.txt | sort -nr| sed -n '1p'`
step2
for ((i=1;i<=$count;i++)); do h=`awk -v i="$i" 'NR==i{print $1}' u.txt`; j=`awk -v i="$i" 'NR==i{print $2}' u.txt `; awk -v h="$h" -v j="$j" '$5 == h {$6=j;print $0}' file1; done >file3.txt
step3
awk 'NR==FNR{a[$1];next}!($5 in a){print $0}' file2 file1 >file4.txt
Step4(Final output)
awk '{print $0}' file3.txt file4.txt
-. ID = tom_fa_10005086 ABI3VP1
- 0 Parent = tom_fa_10005086 ABI3VP1
- 0 Parent = tom_fa_10005086 ABI3VP1
- 2 Parent = tom_fa_10005086 ABI3VP1
- 1 Parent = tom_fa_10005086 ABI3VP1
- 0 Parent = tom_fa_10005086 ABI3VP1
- 0 Parent = tom_fa_10005086 ABI3VP1
+. ID = tom_fa_10013928 ABI3VP2
+ 0 Parent = tom_fa_10013928 ABI3VP2
+ 0 Parent = tom_fa_10013928 ABI3VP2
+ 0 Parent = tom_fa_10013928 ABI3VP2
+ 0 Parent = tom_fa_10013928 ABI3VP2
+ 2 Parent = tom_fa_10013928 ABI3VP2
+ 2 Parent = tom_fa_10013928 ABI3VP2
+ 1 Parent = tom_fa_10013928 ABI3VP2
+ 1 Parent = tom_fa_10013928 ABI3VP2
+ 2 Parent = tom_fa_10013928 ABI3VP2
+ 2 Parent = tom_fa_10013928 ABI3VP2
-. ID = tom_fa_10000024 Alfin-like
- 0 Parent = tom_fa_10000024 Alfin-like
- . ID = tom_fa_10004587
- 0 Parent = tom_fa_10004587
- 1 Parent = tom_fa_10004587
- 1 Parent = tom_fa_10004587
+ . ID = tom_fa_10018753
+ 0 Parent = tom_fa_10018753
+ 2 Parent = tom_fa_10018753
+ 2 Parent = tom_fa_10018753
+ 0 Parent = tom_fa_10018753
+ . ID = tom_fa_10007441
+ 0 Parent = tom_fa_10007441
+ 0 Parent = tom_fa_10007441
+ 1 Parent = tom_fa_10007441
+ 0 Parent = tom_fa_10007441
+ 1 Parent = tom_fa_10007441
+ 2 Parent = tom_fa_10007441