두 개의 파일이 있습니다.
Ref.txt에는 다음이 포함됩니다.
ABCDEFG,15147,1,2,6
HIJKLMN,500,3,4
및 다음을 포함하는 Seq.txt
ABCXXXX
ABCDEXX
IIJKXXX
HIHKXXX
LMNOPQR
BBCDEXX
STUVWXY
Seq.txt 파일의 특정 줄을 바꾸고 싶습니다. 바꿔야 할 줄의 인덱스는 Ref.txt 파일의 필드 3 끝에 있고, 바꿔야 할 줄의 인덱스는 Ref.txt 파일에 있는 같은 줄의 필드 1에 있습니다. 이 예에서 내가 찾고 있는 출력은 다음과 같습니다.
ABCDEFG
ABCDEFG
HIJKLMN
HIJKLMN
LMNOPQR
ABCDEFG
STUVWXY
답변1
awk -F, '
NR==FNR {for(i=3;i<=NF;i++) a[$i] = $1; next}
FNR in a {$0 = a[FNR]}
1
' Ref.txt Seq.txt
ABCDEFG
ABCDEFG
HIJKLMN
HIJKLMN
LMNOPQR
ABCDEFG
STUVWXY