У меня есть два разных скрипта для объединения файлов в один соответствующий столбец.
file1.tsv - 4 столбца, разделенных табуляцией
1 LAK c.66H>T p.Ros49Kos
2 OLD c.11A+1>R p.Ill1639Los
3 SRP c.96V-T>X p.Zub%D23
4 HRP c.1S>T p.Lou33aa
file2.tsv - 14 столбцов, разделенных табуляцией
LAK "empty_column" c.66H>T ......
SRP "empty_column" c.96-T>X ......
Ouptut.tsv - все столбцы из file2.tsv и за 1-м столбцом file1, если совпадают.
LAK "empty_column" c.66H>T ......1
SRP "empty_column" c.96-T>X ......3
Я использую эти два сценария, но не работает:
awk -v FILE_A="file1.tsv" -v OFS="\t" 'BEGIN { while ( ( getline <
FILE_A ) > 0 ) { VAL = $0 ; sub( /^[^ ]+ /, "", VAL ) ; DICT[ $3 ] =
VAL } } { print $0, DICT[ $3 ] }' file2.tsv
или
awk 'NR==FNR{h[$3] = $1; next} {print h[$3]}' file1.tsv file2.tsv
Спасибо за помощь.